国家機密アルゴリズムの概要とアルゴリズムの統合応用(sm2、sm3、sm4)

I. 概要

プロジェクトの都合上、国家機密の暗号化と復号化を統合する必要があり、古い国家機密を再度見直しました。同時に国家機密のアルゴリズムもいくつか整理しました。
この記事では、主に国家機密関連のアルゴリズムの紹介、アプリケーションシステムの統合、ツールのパッケージ化などから始まり、国家機密について徹底的に研究していきます。

  • 商用暗号の安全性を確保するために、国家暗号局は SM1 (SCB2)、SM2、SM3、SM4、SM7、SM9、Zu Chongzhi cipher Algorithm (ZUC) などを含む一連の暗号標準を策定しました。

  • SM1、SM4、SM7、Zu Chong の暗号アルゴリズム (ZUC): 対称アルゴリズム。

  • SM2、SM9: 非対称アルゴリズム。

  • SM3: ハッシュアルゴリズム。

  • SM1 および SM7 のアルゴリズムは公開されていないため、アルゴリズムを呼び出す場合は暗号化チップのインターフェイスを介して呼び出す必要があります。

2. 分類の概要

3.1、SM1 対称パスワード

  • SM1 アルゴリズムは、ブロック長 128 ビット、鍵長 128 ビットのブロック暗号アルゴリズムであり、アルゴリズムの安全性強度および関連するハードウェアおよびソフトウェアの性能は AES と同等です。アルゴリズムは非公開ですが、 IP コアの形でチップ内にのみ存在します。
  • このアルゴリズムを使用して、チップ、スマート IC カード、スマート パスワード キー、暗号化カード、暗号化マシンなどの一連のセキュリティ製品が開発され、電子政府、電子商取引、国民経済のさまざまな応用分野で広く使用されています。 (国政連絡、警察連絡等を含む)その他の重要な分野)。

3.2. SM2 楕円曲線公開鍵暗号アルゴリズム

  • SM2 アルゴリズムは ECC 楕円曲線暗号化メカニズムですが、署名や鍵交換の点で ECDSA、ECDH などの国際標準とは異なり、より安全なメカニズムを採用しています。さらに、SM2 は標準曲線として 256 ビット曲線を推奨しています。
  • SM2 標準には、一般原則、デジタル署名アルゴリズム、鍵交換プロトコル、公開鍵暗号化アルゴリズムの 4 つの部分が含まれており、各部分の付録には関連する詳細と実装例が詳しく説明されています。
  • SM2 アルゴリズムは主に素体 Fp および F2m 上の楕円曲線を考慮し、これら 2 種類の体の表現と操作、体上の楕円曲線上の点の表現と操作、および計算を導入します。複数の点に対するアルゴリズム。次に、整数とバイト文字列、バイト文字列とビット文字列、フィールド要素とビット文字列、フィールド要素と整数、ポイントとバイト文字列の間のデータ変換規則を含む、プログラミング言語でのデータ変換を紹介します。
  • 有限体上の楕円曲線のパラメータの生成と検証について詳しく説明します. 楕円曲線のパラメータには, 有限体の選択, 楕円曲線方程式のパラメータ, 楕円曲線の基点の選択が含まれます.楕円曲線群等を選択し、検証のための選択基準を示します。最後に、楕円曲線上の鍵ペアの生成と公開鍵の検証では、ユーザーの鍵ペアは (s, sP) であり、s はユーザーの秘密鍵、sP はユーザーの公開鍵です。 sP からの離散対数問題 s を取得するのは困難ですが、素数フィールドとバイナリ拡張フィールドに対するキー ペアの生成と検証方法の詳細が示されています。一般原則の知識は SM9 アルゴリズムにも当てはまります。
  • 一般原則に基づいて、デジタル署名アルゴリズム (デジタル署名生成アルゴリズムと検証アルゴリズムを含む)、鍵交換プロトコル、および公開鍵暗号化アルゴリズム (暗号化アルゴリズムと復号化アルゴリズムを含む) が示され、アルゴリズムの説明が各部に示されます。アルゴリズム フローと関連例。
  • デジタル署名アルゴリズム、鍵交換プロトコル、および公開鍵暗号化アルゴリズムはすべて、国家暗号局によって承認された SM3 暗号化ハッシュ アルゴリズムと乱数生成器を使用します。デジタル署名アルゴリズム、鍵交換プロトコル、公開鍵暗号化アルゴリズムは、一般規則に従って有限体と楕円曲線を選択し、鍵ペアを生成します。
  • SM2 アルゴリズムは多くの点で RSA アルゴリズムよりも優れています (RSA は早期に開発され広く使用されており、SM2 がリードするのは当然です) RSA とのセキュリティ比較を次の図に示します。
    ここに画像の説明を挿入

3.3、SM3 ハッシュ アルゴリズム

  • SM3 暗号化ハッシュ (ハッシュ、ハッシュ) アルゴリズムでは、ハッシュ関数アルゴリズムの計算方法と計算手順、および操作例を示します。このアルゴリズムは、商用暗号アプリケーションでのデジタル署名と検証、メッセージ認証コードの生成と検証、乱数生成に適しており、さまざまな暗号アプリケーションのセキュリティ要件を満たすことができます。SM2、SM9規格で使用されます。
  • このアルゴリズムは、パディングと反復圧縮の後、XOR、モジュラス、モジュロ加算、シフト、AND、OR、NOT 演算を使用して、入力長が 2 の 64 乗未満であるビット メッセージに対して長さ 256 ビットのハッシュ値を生成します。 、パディング、反復処理、メッセージ拡張および圧縮関数で構成されます。特定のアルゴリズムと操作例については、SM3 標準を参照してください。

3.4、SM4 対称アルゴリズム

  • このアルゴリズムはグループ化アルゴリズムであり、無線 LAN 製品で使用されています。このアルゴリズムのパケット長は 128 ビット、鍵の長さは 128 ビットです。暗号化アルゴリズムと鍵拡張アルゴリズムはいずれも 32 ラウンドの非線形反復構造を採用しています。復号アルゴリズムの構造は、ラウンド鍵が使用される順序が逆であり、復号ラウンド鍵が暗号化ラウンド鍵の逆順序であることを除いて、暗号化アルゴリズムの構造と同じです。
  • このアルゴリズムは非線形反復構造を採用しており、各反復はラウンド関数によって与えられます。ラウンド関数は非線形変換と線形変換で構成され、非線形変換は S ボックスによって与えられます。ここで、 rki はラウンド鍵であり、合成順列 T はラウンド関数を構成します。ラウンド鍵の生成は上図の処理と同様で、暗号鍵を入力としてラウンド鍵を生成しますが、ラウンド関数の線形変換が異なり、パラメータも若干異なります。SM4 アルゴリズムの詳細な説明と例については、SM4 標準を参照してください。

3.5、SM7 対称パスワード

  • SM7 アルゴリズムは、ブロック長 128 ビット、鍵長 128 ビットのブロック暗号アルゴリズムです。SM7は非接触ICカードに適しており、本人確認アプリケーション(アクセスコントロールカード、労働許可証、競技パス)、発券アプリケーション(大規模イベントチケット、展示会チケット)、決済・カードアプリケーション(ポイント消費カード、キャンパスカード)、コーポレートカードなど)。

3.6、SM9 識別パスワード アルゴリズム

  • 公開鍵システムにおける鍵と証明書の管理の複雑さを軽減するために、イスラエルの科学者であり RSA アルゴリズムの発明者の 1 人であるアディ・シャミールは、1984 年に ID ベースの暗号化の概念を提案しました。識別パスワードは、ユーザーの識別情報(電子メール アドレス、携帯電話番号、QQ 番号など)を公開鍵として使用するため、デジタル証明書と公開鍵を交換するプロセスが省略され、セキュリティ システムの導入と管理が容易になります。さまざまな場面でのエンドツーエンドのオフライン安全通信、クラウドデータ暗号化、属性ベースの暗号化、ポリシーベースの暗号化に非常に適しています。2008 年に、識別暗号化アルゴリズムは国家暗号局発行の商業秘密アルゴリズム モデル SM9 (尚美 9 号アルゴリズム) を正式に取得し、我が国における識別暗号化技術の適用のための強固な基盤を築きました。
  • SM9 アルゴリズムはデジタル証明書を申請する必要がなく、インターネット アプリケーションのさまざまな新興アプリケーションのセキュリティ保証に適しています。クラウドベースのパスワードサービス、メールセキュリティ、スマート端末保護、モノのインターネットセキュリティ、クラウドストレージセキュリティなど。これらのセキュリティ アプリケーションは、携帯電話番号や電子メール アドレスを公開鍵として使用して、データ暗号化、ID 認証、通話暗号化、チャネル暗号化などのセキュリティ アプリケーションを実装でき、使用と展開が簡単であるため、暗号化の普及への扉が開かれます。アルゴリズム。

3.7、ZUC Zu Chongのアルゴリズム

  • Zu Chongzhi シーケンス暗号アルゴリズムは、中国が独自に研究したストリーム暗号アルゴリズムです。移動通信 4G ネットワークで使用される国際標準暗号アルゴリズムです。アルゴリズムには、Zu Chongzhi アルゴリズム (ZUC)、暗号化アルゴリズム (128-EEA3)、完全性アルゴリズム ( 128-EEA3) EIA3) 3 つの部分。現在、ZUC アルゴリズムの最適化された実装があり、特に 128-EEA3 および 128-EIA3 向けのハードウェア実装と最適化があります。
  • 国家戦略リソースとして、暗号アルゴリズムは歴史上かつてないほど重要になっています。ビッグデータとクラウドコンピューティングの時代では、重要な情報はデータマイニング技術を通じて大量のデータから取得されることが多いため、全員の情報保護が非常に重要です。

3. 統合された SM2 暗号化と復号化

JAVA 統合国家機密 SM2: https://blog.csdn.net/qq_38254635/article/details/131810661

4. 統合された SM3 暗号化と署名検証

JAVA 統合国家機密 SM3: https://blog.csdn.net/qq_38254635/article/details/131810696

5. 統合された SM4 暗号化と復号化

JAVA 統合国家機密 SM4: https://blog.csdn.net/qq_38254635/article/details/131810715

6. リソースのダウンロード

SpringBoot は SM2、SM3、SM4 コード パッケージのダウンロードを統合します。
CSDN ダウンロード アドレス: https://download.csdn.net/download/qq_38254635/88063758
Baidu ネットワーク ディスクのダウンロード アドレス: https://pan.baidu.com/s/1oy0OqRSvYues-w_lbHe27A ?pwd=48i0
抽出コード: 48i0

一連の国家機密文書の参照リンクは次のとおりです。
国家機密アルゴリズムの概要: https://blog.csdn.net/wang_jing_jing/article/details/121493025
Java は国家機密の暗号化と復号化を実装しています: https://blog. csdn.net/m0_37539286/article /details/127584892
JAVA – sm3 暗号化署名、および反復攻撃の防止: https://blog.csdn.net/DGH2430284817/article/details/131472103
国家機密アルゴリズム SM1、SM2、SM3、 SM4: https://www.cnblogs.com/zhangshitong/p/8057845.html
JT/T808 国家機密 SM4 暗号化および復号化処理用 Java: https://blog.51cto.com/u_12846753/4584586

おすすめ

転載: blog.csdn.net/qq_38254635/article/details/131801527