<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      20221320馮泰瑞-實驗一嵌入式開發基礎-4-6學時實踐過程記錄

      20221320-馮泰瑞-實驗一(4-6學時)過程記錄

      一、參考相關內容,在Ubuntu或openEuler中(推薦openEuler)中使用OpenSSL庫編程實現調用SM2(加密解密,簽名驗簽),SM3(摘要計算,HMAC 計算),SM4(加密解密)算法,使用Markdown記錄詳細記錄實踐過程,每完成一項gitcommit一次。

      (一)SM3的實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm3/sm3openssl$ make
      gcc   -Wall -O2   -o test   test.c sm3hash.c   -lssl -lcrypto    
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm3/sm3openssl$ ./test
      Raw data (sample1): abc
      Hash length: 32 bytes.
      Hash value:
      66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
      
      Raw data (sample2):
      0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  0x61  0x62  0x63  0x64  
      Hash length: 32 bytes.
      Hash value:
      debe9ff92275b8a138604889c18e5a4d6fdb70e5387e5765293dcba39c0c5732
      
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm3/sm3openssl$ git add sm3hash.c sm3hash.h Makefile test.c test
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm3/sm3openssl$ git commit -m "openssl sm3"
      [master 95052de] openssl sm3
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100755 ch03/sm3/sm3openssl/test
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm3/sm3openssl$ git log
      commit 95052de83703162a24a897ade713a3b336958f17 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 10:14:53 2024 +0800
      
          openssl sm3
      

      (二)SM4的實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm4/sm4openssl$ make
      gcc   -Wall -O2 -I ~/rocopenssl/include  -L ~/rocopenssl/lib -o test   sm4openssl.c   -lssl -lcrypto    
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm4/sm4openssl$ ./test
      ===== SM4-CBC Encryption and Decryption =====
      sm4-cbc encryption successful. Ciphertext length: 16 bytes
      Ciphertext:
      0000: 45 E9 16 3A 1C 88 36 4D DD 64 1D 63 18 94 4A F4 
      sm4-cbc decryption: Read ciphertext length: 16 bytes
      sm4-cbc decryption result: 
      Helloworld
      Decrypted plaintext (hex):
      0000: 48 65 6C 6C 6F 77 6F 72 6C 64 
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm4/sm4openssl$ git add cipher_sm4-cbc.dat Makefile sm4openssl.c test
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm4/sm4openssl$ git commit -m "openssl sm4"
      [master 567f874] openssl sm4
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100755 ch03/sm4/sm4openssl/test
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm4/sm4openssl$ git log
      commit 567f874ada5017eb2871f50af5c8f951886da893 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 10:19:37 2024 +0800
      
          openssl sm4
      

      二、參考相關內容,在Ubuntu或openEuler中(推薦openEuler)中使用GmSSL庫編程實現調用SM2(加密解密,簽名驗簽),SM3(摘要計算,HMAC 計算),SM4(加密解密)算法,使用Markdown記錄詳細記錄實踐過程,每完成一項gitcommit一次。

      (一)SM2的實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm2/sm2gmssl$ make
      gcc   -Wall -O2 -I ~/GmSSL-3.1.1-Linux/include     -L ~/GmSSL-3.1.1-Linux/lib   -lgmssl   -c sm2gmssl.c -o sm2gmssl.o  
      sm2gmssl.c: In function ‘main’:
      sm2gmssl.c:104:21: warning: passing argument 1 of ‘sm2_verify_init’ from incompatible pointer type [-Wincompatible-pointer-types]
        104 |     sm2_verify_init(&verify_ctx, &key, SM2_DEFAULT_ID, SM2_DEFAULT_ID_LENGTH);
            |                     ^~~~~~~~~~~
            |                     |
            |                     SM2_SIGN_CTX *
      In file included from sm2gmssl.c:4:
      /usr/local/include/gmssl/sm2.h:196:37: note: expected ‘SM2_VERIFY_CTX *’ but argument is of type ‘SM2_SIGN_CTX *’
        196 | int sm2_verify_init(SM2_VERIFY_CTX *ctx, const SM2_KEY *key, const char *id, size_t idlen);
            |                     ~~~~~~~~~~~~~~~~^~~
      sm2gmssl.c:106:29: warning: passing argument 1 of ‘sm2_verify_update’ from incompatible pointer type [-Wincompatible-pointer-types]
        106 |     ret = sm2_verify_update(&verify_ctx, (const uint8_t *)message, message_len);
            |                             ^~~~~~~~~~~
            |                             |
            |                             SM2_SIGN_CTX *
      /usr/local/include/gmssl/sm2.h:197:39: note: expected ‘SM2_VERIFY_CTX *’ but argument is of type ‘SM2_SIGN_CTX *’
        197 | int sm2_verify_update(SM2_VERIFY_CTX *ctx, const uint8_t *data, size_t datalen);
            |                       ~~~~~~~~~~~~~~~~^~~
      sm2gmssl.c:112:29: warning: passing argument 1 of ‘sm2_verify_finish’ from incompatible pointer type [-Wincompatible-pointer-types]
        112 |     ret = sm2_verify_finish(&verify_ctx, signature, signature_len);
            |                             ^~~~~~~~~~~
            |                             |
            |                             SM2_SIGN_CTX *
      /usr/local/include/gmssl/sm2.h:198:39: note: expected ‘SM2_VERIFY_CTX *’ but argument is of type ‘SM2_SIGN_CTX *’
        198 | int sm2_verify_finish(SM2_VERIFY_CTX *ctx, const uint8_t *sig, size_t siglen);
            |                       ~~~~~~~~~~~~~~~~^~~
      gcc   -o sm2gmssl sm2gmssl.o -L ~/GmSSL-3.1.1-Linux/lib   -lgmssl      
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm2/sm2gmssl$ ./sm2gmssl
      生成 SM2 密鑰對...
      SM2 密鑰生成成功。
      明文: Hello, SM2!
      加密明文...
      加密成功。
      密文: 30740220770002F67897E64484E7C7C6D54AB8F13A9D721A7B915345CD2AA520732DB61C022100EE4B5CC435DA75406377E65EB641C6ACF7E8540AB18B307086D41770AF53103E0420B5B01885C1893FD02EB83556D4C7B46EE55034CCDDA6419F1559BC32BCE5AD0E040BB840AA93374B5722588DFC
      解密密文...
      解密成功。
      解密后的明文: Hello, SM2!
      要簽名的消息: This is a message to be signed.
      簽名成功。
      簽名: 3046022100EE99AB315166E7A12673A8C26E77CB58AE62920FB20F0A4BBF39067D6B60ED64022100934D33E153D6232EF589D7026B3B5A96E43A49676D5B14B1567C91C17D9BEC5C
      簽名驗證成功。
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm2/sm2gmssl$ git add Makefile sm2gmssl sm2gmssl.c sm2gmssl.o
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm2/sm2gmssl$ git commit -m "gmssl sm2"
      [master d3912f3] gmssl sm2
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100755 ch03/sm2/sm2gmssl/sm2gmssl
      fengtairui@fengtairui-virtual-machine:~/bestidiocs/ch03/sm2/sm2gmssl$ git log
      commit d3912f354111545f6a3fd4337dc1da9cd36ac99a (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 10:23:37 2024 +0800
      
          gmssl sm2
      

      (二)SM3的實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ gcc -o testsm3 testsm3.c -L/桌面/GmSSL-master/include/gmssl -lgmssl
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ ./testsm3
      SM3 hash: 8b3145130a678ef0049952d0c3d78f878b3c825bd3e73a0fb2319b34cabea9e0
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ git add testsm3.c testsm3
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ git commit -m "gmssl sm3"
      [master 812153a] gmssl sm3
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100755 ch03/sm3/sm3gmssl/testsm3
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ git log
      commit 812153a0f42b7a05da8e7af1d057ffff109fd05f (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 11:06:02 2024 +0800
      
          gmssl sm3
      

      問題

      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ gcc -o testsm3 testsm3.c
      /usr/bin/ld: /tmp/cc7SFvCK.o: in function `main':
      testsm3.c:(.text+0x37): undefined reference to `sm3_init'
      /usr/bin/ld: testsm3.c:(.text+0x62): undefined reference to `sm3_update'
      /usr/bin/ld: testsm3.c:(.text+0x78): undefined reference to `sm3_finish'
      collect2: error: ld returned 1 exit status
      

      AI問答

      這個錯誤信息表明你在編譯 `testsm3.c` 文件時,鏈接器(ld)找不到 `sm3_init`、`sm3_update` 和 `sm3_finish` 這三個函數的定義。這通常是因為你沒有正確地鏈接到包含這些函數定義的庫。
      
      SM3 是一種密碼散列函數,通常需要一個庫來實現這些功能。如果你已經有了一個實現了 SM3 算法的庫,你需要確保在編譯時鏈接到這個庫。如果庫是靜態庫(.a 文件),你可以使用 `-l` 選項來鏈接它。如果庫是動態庫(.so 文件),你可能還需要指定庫的路徑。
      
      例如,如果你的庫文件名為 `libcrypto.a` 或 `libcrypto.so`,并且它包含了 `sm3_init`、`sm3_update` 和 `sm3_finish` 這些函數,你可以這樣編譯你的程序:
      
      ```bash
      gcc -o testsm3 testsm3.c -lcrypto
      ```
      
      或者,如果庫不在標準的庫路徑中,你可能需要使用 `-L` 選項來指定庫文件的路徑:
      
      ```bash
      gcc -o testsm3 testsm3.c -L/path/to/library -lcrypto
      ```
      
      如果 `sm3` 函數是某個特定庫的一部分,那么你需要確保你有這個庫,并且知道它的名稱。如果這個庫不是標準的,你可能需要下載或者構建它,然后按照上述方法鏈接。
      
      如果你沒有這個庫,你需要找到提供 SM3 實現的庫,或者自己實現這些函數。如果你使用的是某個特定的開發環境或框架,可能已經有現成的庫可以使用。
      

      解決問題實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ gcc -o testsm3 testsm3.c -L/桌面/GmSSL-master/include/gmssl -lgmssl
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm3/sm3gmssl$ ./testsm3
      SM3 hash: 8b3145130a678ef0049952d0c3d78f878b3c825bd3e73a0fb2319b34cabea9e0
      

      (三)SM4的實踐

      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm4/sm4gmssl$ make
      gcc   -Wall -O2 -I ~/GmSSL-3.1.1-Linux/include     -L ~/GmSSL-3.1.1-Linux/lib   -lgmssl   -c sm4gmssl.c -o sm4gmssl.o  
      gcc   -o sm4gmssl sm4gmssl.o -L ~/GmSSL-3.1.1-Linux/lib   -lgmssl      
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm4/sm4gmssl$ ./sm4gmssl
      隨機生成的密鑰: AE C9 25 6E 11 A4 7B E3 3A EA AE EA E5 37 D8 B8 
      隨機生成的IV: 14 9C 2B 27 23 43 56 C9 0A C2 83 D3 E0 C8 51 36 
      明文 (130 字節): 06 93 9C 0A F7 F9 01 0D D2 79 FC 7D 17 87 D2 A9 0B F1 4E 43 E4 41 92 F0 F4 B1 89 42 CA 5F F5 7C DA CD 56 7E 64 70 39 40 E2 51 B8 46 57 35 B9 85 8B ED F4 F9 98 38 12 55 19 A8 A0 D0 3F 6A 50 0A 3B 98 0B 9D F4 1D BE 2D BA EA 5C 10 25 40 80 D0 57 C4 DC 28 64 11 AE 72 B7 6B 69 6E 9E 44 0E 53 6F 5C 24 E1 F6 AB 1A A5 78 D9 FF 7C BF F5 EB 16 0C 0E 1C 5C 04 C1 DC F2 94 86 6D 4F 6D 0B DF 21 A2 FC 
      密文 (144 字節): 0B 4A 8F 5D DF 5F AA CB 59 21 02 59 19 18 FE 35 06 7D 0D 7D 84 B4 01 96 B0 DC 90 F7 A9 2E 2A 10 1E BB B5 3E 9F 1B 33 51 A7 FB 9A 0E 02 CE AE C5 58 52 03 24 60 91 18 EF 86 C6 D4 4C 86 5D 92 09 60 F3 80 5F A2 AA B7 AF 38 F4 B5 0E CC 1A F9 D9 B5 E0 42 3A C9 96 F4 32 EE A5 11 9F 88 08 65 49 E1 2E BC 41 A7 D9 F2 72 FA E2 22 99 E3 BF 44 29 B5 CB 3C 9E 9F E6 77 0C 0A C0 3B 1F 81 96 02 53 D7 80 DF 44 65 29 CB 99 0E 4C 1A 6E 64 14 08 51 
      解密后的明文 (130 字節): 06 93 9C 0A F7 F9 01 0D D2 79 FC 7D 17 87 D2 A9 0B F1 4E 43 E4 41 92 F0 F4 B1 89 42 CA 5F F5 7C DA CD 56 7E 64 70 39 40 E2 51 B8 46 57 35 B9 85 8B ED F4 F9 98 38 12 55 19 A8 A0 D0 3F 6A 50 0A 3B 98 0B 9D F4 1D BE 2D BA EA 5C 10 25 40 80 D0 57 C4 DC 28 64 11 AE 72 B7 6B 69 6E 9E 44 0E 53 6F 5C 24 E1 F6 AB 1A A5 78 D9 FF 7C BF F5 EB 16 0C 0E 1C 5C 04 C1 DC F2 94 86 6D 4F 6D 0B DF 21 A2 FC 
      解密驗證成功:解密后的明文與原始明文一致。
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm4/sm4gmssl$ git add Makefile sm4gmssl sm4gmssl.c sm4gmssl.o
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm4/sm4gmssl$ git commit -m "gmssl sm4"
      [master ae490d3] gmssl sm4
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100755 ch03/sm4/sm4gmssl/sm4gmssl
      fengtairui@fengtairui-virtual-machine:~/bestidiocs2024/ch03/sm4/sm4gmssl$ git log
      commit ae490d308ab84db1ef13118d8c6b181faf91dc2e (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 11:09:12 2024 +0800
      
          gmssl sm4
      

      三、兩人一組,在Ubuntu或openEuler中(推薦openEuler)中使用GmSSL編程實現帶簽名的數字信封協議。使用GmSSL庫時,Bob發送,Alice接收。Ailice,Bob在實驗中要替換為自己的8位學號+姓名。使用Markdown記錄詳細記錄實踐過程,每完成一項gitcommit一次。

      (一)Alice,Bob生成自己的公私鑰匙對,記作:(PKa,SKa),(PKb,SKb),Alice,Bob分別擁有:(PKa,SKa,PKb),(PKb,SKb,PKa),實驗中把公鑰文件拷貝給對方

      Bob(20221320ftr)生成密鑰對

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ gcc -o miyao miyao.c -lgmssl
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./miyao 20221320ftr_publickey.pem 20221320ftr_privatekey.pem
          SM2 公鑰
              publicKey: 6A7E3C2B112BE7881DC8E4067D6610D86512F95F8ABCD92055517D5C8E186C66B52A15EF950E4D035517AAF327A6AE8E8BC3760733E9D80067A953446A9F0294
              privateKey: f4a6112b6a366437a9f77ca31dbfa52651d7b953fb033b586fb5c4ce5cd39165
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add 20221320ftr_privatekey.pem 20221320ftr_publickey.pem
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui private key and public key"
      [master 0d09e46] 20221320fengtairui private key and public key
       2 files changed, 0 insertions(+), 0 deletions(-)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_privatekey.pem
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_publickey.pem
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit 0d09e4670641b907c03b7270aa1be05077548b86 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:42:53 2024 +0800
      
          20221320fengtairui private key and public key
      

      Alice(20221328msm)生成密鑰對

      liudaotongming@LAPTOP-J23VPJPH:~$ gcc -o miyao miyao.c -lgmssl
      liudaotongming@LAPTOP-J23VPJPH:~$ ./miyao 20221328msm_publickey.pem 20221328msm_privatekey.pem
          SM2 公鑰
              publicKey: 70B80F68A85B3450ADCDF74A2171FF5B4BB2F697F046D9E31ABA5F38CE17F5E44481FE847C41B524C399FC08FFB4CAA851CC5B9B31EFF7983B24DDFADE141703
              privateKey: ff6791c92e929812c8f2db8f41e04ce27ed8fb38b9daf53c3cc3ad257efcd7f8
      liudaotongming@LAPTOP-J23VPJPH:~$ git add 20221328msm_publickey.pem 20221328msm_privatekey.pem
      liudaotongming@LAPTOP-J23VPJPH:~$ git commit -m "20221328mashenming public key and private key"
      [master 5fc5636] 20221320mashenming public key and private key
       2 files changed, 2 insertions(+)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221328msm_privatekey.pem
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221328msm_publickey.pem
      liudaotongming@LAPTOP-J23VPJPH:~$ git log
      commit 5fc56361d96363906dff0036b7daec874c628c40 (HEAD -> master)
      Author: 20221328馬申明 <3254165494@qq.com>
      Date:   Sun Oct 20 22:06:11 2024 +0800
      
          20221328mashenming public key and private key
      

      (二)Bob發給Alice的明文plain.txt,內容為自己的姓名學號

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ echo "20221320fengtairui" > plain.txt
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add plain.txt
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui plain text "
      [master 01b4b4c] 20221320fengtairui plain text
       1 file changed, 1 insertion(+)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/plain.txt
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit 01b4b4cfc77b03695ce49c2f433be2ef95dd5b98 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:45:13 2024 +0800
      
          20221320fengtairui plain text
      

      (三)Bob:sm4key使用gmsslrand產生,16字節,記作k

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./sm4miyao 20221320ftr_key.bin 20221320ftr_iv.bin
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add 20221320ftr_iv.bin 20221320ftr_key.bin
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui key and iv "
      [master 2069372] 20221320fengtairui key and iv
       2 files changed, 2 insertions(+)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_iv.bin
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_key.bin
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit 20693729f705de578b8eaa62e7bf5d560d3c7e41 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:47:21 2024 +0800
      
          20221320fengtairui key and iv
      

      (四)Bob:Sm4Enc(k,P)= C

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ gcc -o sm4jm sm4jm.c -lgmssl
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./sm4jm 20221320ftr_key.bin 20221320ftr_iv.bin plain.txt 20221320ftr_miwen.cbc
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add 20221320ftr_miwen.cbc
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui cipher text"
      [master 9123fd2] 20221320fengtairui cipher text
       1 file changed, 1 insertion(+)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_miwen.cbc
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit 9123fd2a5f1eed436722cf22166e30797873b474 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:48:40 2024 +0800
      
          20221320fengtairui cipher text
      

      (五)Bob:Sm2Enc(PKa,k)= KC

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ gcc -o jiami jiami.c -lgmssl
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./jiami 20221328msm_publickey.pem 20221320ftr_key.bin 20221320ftr_encryptkey.bin
      明文: z??'?QI????
                       eQE
      加密明文...
      加密成功。
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./jiami 20221328msm_publickey.pem 20221320ftr_iv.bin 20221320ftr_encryptiv.bin
      v?f : s
         ??0???M?T
      加密明文...
      加密成功。
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add 20221320ftr_encryptkey.bin 20221320ftr_encryptiv.bin
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui encrypt key and iv"
      [master f8f0582] 20221320fengtairui encrypt key and iv
       2 files changed, 0 insertions(+), 0 deletions(-)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_encryptiv.bin
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr_encryptkey.bin
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit f8f0582f1c8560475ef27deaeb7e6b1e829157b4 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:51:38 2024 +0800
      
          20221320fengtairui encrypt key and iv
      

      (六)Bob:Sm2Sign(SKb,C)= S1

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ gcc -o qianming qianming.c -lgmssl
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ ./qianming 20221320ftr_privatekey.pem 20221320ftr_miwen.cbc 20221320ftr.sig
      簽名成功。
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git add 20221320ftr.sig
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git commit -m "20221320fengtairui signature"
      [master 5e86a5c] 20221320fengtairui signature
       1 file changed, 0 insertions(+), 0 deletions(-)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221320ftr.sig
      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git log
      commit 5e86a5c1dff046e188665162dec167d95cf96402 (HEAD -> master)
      Author: fengtairui <1978274655@qq.com>
      Date:   Sun Oct 20 21:53:20 2024 +0800
      
          20221320fengtairui signature
      

      (七)Bob:數字信封 C||KC||S1發給Alice

      fengtairui@fengtairui-virtual-machine:~/20221320fengtairui/sm2_sm3_sm4$ git push
      Username for 'https://gitee.com': 13696447027
      Password for 'https://13696447027@gitee.com': 
      枚舉對象中: 35, 完成.
      對象計數中: 100% (35/35), 完成.
      使用 8 個線程進行壓縮
      壓縮對象中: 100% (29/29), 完成.
      寫入對象中: 100% (33/33), 2.79 KiB | 158.00 KiB/s, 完成.
      總共 33(差異 12),復用 0(差異 0),包復用 0
      remote: Powered by GITEE.COM [1.1.5]
      remote: Set trace flag 2c4d199f
      To https://gitee.com/feng-tairui/information-security-design.git
         a5e2e4f..5e86a5c  master -> master
      

      (八)Alice:Sm2Very(PKb,S1)

      liudaotongming@LAPTOP-J23VPJPH:~$ gcc -o yanqian yanqian.c -lgmssl -lcrypto
      liudaotongming@LAPTOP-J23VPJPH:~$ ./yanqian 20221320ftr_publickey.pem 20221320ftr_miwen.cbc 20221320ftr.sig
      簽名驗證成功。
      

      (九)Alice:Sm2Dec(SKa,KC)=k

      liudaotongming@LAPTOP-J23VPJPH:~$ gcc -o jiemi jiemi.c -lgmssl
      liudaotongming@LAPTOP-J23VPJPH:~$ ./jiemi 20221328msm_privatekey.pem 20221320ftr_encryptiv.bin 20221328msm_iv.bin
      解密密文...
      解密成功。
      liudaotongming@LAPTOP-J23VPJPH:~$ ./jiemi 20221328msm_privatekey.pem 20221320ftr_encryptkey.bin 20221328msm_key.bin
      解密密文...
      解密成功。
      liudaotongming@LAPTOP-J23VPJPH:~$ git add 20221328msm_key.bin 20221328msm_iv.bin
      liudaotongming@LAPTOP-J23VPJPH:~$ git commit -m "20221328mashenming key and iv"
      [master d5051ff] 20221328mashenming key and iv
       2 files changed, 0 insertions(+), 0 deletions(-)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221328msm_iv.bin
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/20221328msm_key.bin
      liudaotongming@LAPTOP-J23VPJPH:~$ git log
      commit d5051ff1f5bfdb6b0c21d59b5c8b4c2ca9a2bf97 (HEAD -> master)
      Author: 20221328馬申明 <3254165494@qq.com>
      Date:   Sun Oct 20 21:57:35 2024 +0800
      
          20221328mashenming key and iv
      

      (十)Alice:Sm4Dec(k,C)= P

      liudaotongming@LAPTOP-J23VPJPH:~$ gcc -o sm4jie sm4jie.c -lgmssl
      liudaotongming@LAPTOP-J23VPJPH:~$ ./sm4jie 20221328msm_key.bin 20221328msm_iv.bin 20221320ftr_miwen.cbc plain_2.txt
      liudaotongming@LAPTOP-J23VPJPH:~$ cat plain_2.txt
      20221320fengtairui
      liudaotongming@LAPTOP-J23VPJPH:~$ git add plain_2.txt
      liudaotongming@LAPTOP-J23VPJPH:~$ git commit -m "20221328mashenming decrypt"
      [master 133794b] 20221328mashenming decrypt
       1 file changed, 1 insertion(+)
       create mode 100644 20221320fengtairui/sm2_sm3_sm4/plain_2.txt
      liudaotongming@LAPTOP-J23VPJPH:~$ git log
      commit 133794b41da6eeaabce81a504ed4e8596f1384ee (HEAD -> master)
      Author: 20221328馬申明 <3254165494@qq.com>
      Date:   Sun Oct 20 21:59:59 2024 +0800
      
          20221328mashenming decrypt
      
      posted @ 2025-01-16 17:01  20221320馮泰瑞  閱讀(83)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚州中文字幕一区二区| 色欲国产精品一区成人精品| 亚洲国产精品无码一区二区三区| 欧美人与zoxxxx另类| 粗大猛烈进出高潮视频| 欧美又黄又大又爽a片三年片| 日韩欧美aⅴ综合网站发布| 亚洲av成人一区二区三区| 久久精品国产2020| 日韩理伦片一区二区三区| 国产一区二区在线有码| 国产99青青成人A在线| 久热色视频精品在线观看| 亚洲夂夂婷婷色拍ww47| 久久亚洲av成人无码软件| 久久久久久久无码高潮| 成人亚洲精品一区二区三区| 国产色无码专区在线观看| 综合色一色综合久久网| 午夜夜福利一区二区三区| 无码中文字幕人妻在线一区| 内射老阿姨1区2区3区4区| 吉隆县| 国产精品中文一区二区| 精品无码国产污污污免费| 久久久欧美国产精品人妻噜噜| 悠悠人体艺术视频在线播放| 亚洲中文字幕无码一久久区| 亚洲成av人在线播放无码| 阜阳市| 国产精品自在线拍国产手机版| jk白丝喷浆| 激情人妻中出中文字幕一区| xxxxbbbb欧美残疾人| 亚洲人成网站18禁止| 久久国产精品亚洲精品99| 亚洲欧美日韩在线码| 日本高清色WWW在线安全| 国产中年熟女高潮大集合| 婷婷综合亚洲| 热99久久这里只有精品|