mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-30 22:44:06 +08:00
Update AEAD
This commit is contained in:
@@ -1,12 +1,115 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -x
|
||||
|
||||
set -e
|
||||
|
||||
gmssl sm4 -help
|
||||
|
||||
# CBC
|
||||
echo hello | gmssl sm4 -cbc -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -cbc -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# CTR
|
||||
echo hello | gmssl sm4 -ctr -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -ctr -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 12
|
||||
echo hello | gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 112233445566778811223344 -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 112233445566778811223344 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 1
|
||||
echo hello | gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 11 -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 16
|
||||
echo hello | gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 32
|
||||
echo hello | gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 1122334455667788112233445566778811223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 1122334455667788112233445566778811223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# CBC-SM3-HMAC
|
||||
echo hello | gmssl sm4 -cbc_sm3_hmac -encrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -cbc_sm3_hmac -decrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# CTR-SM3-HMAC
|
||||
echo hello | gmssl sm4 -ctr_sm3_hmac -encrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -out ciphertext.bin
|
||||
gmssl sm4 -ctr_sm3_hmac -decrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# encrypt/decrypt long text file
|
||||
|
||||
cat << EOF > plaintext.txt
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICzzCCAnKgAwIBAgIFEzY5M3AwDAYIKoEcz1UBg3UFADAlMQswCQYDVQQGEwJD
|
||||
TjEWMBQGA1UECgwNQ0ZDQSBTTTIgT0NBMTAeFw0yMTA2MTEwOTA1MjBaFw0yNjA2
|
||||
MTkwODE2NTZaMIGRMQswCQYDVQQGEwJDTjEPMA0GA1UECAwG5YyX5LqsMQ8wDQYD
|
||||
VQQHDAbljJfkuqwxJzAlBgNVBAoMHuS4reWbvemTtuihjOiCoeS7veaciemZkOWF
|
||||
rOWPuDERMA8GA1UECwwITG9jYWwgUkExDDAKBgNVBAsMA1NTTDEWMBQGA1UEAwwN
|
||||
ZWJzc2VjLmJvYy5jbjBZMBMGByqGSM49AgEGCCqBHM9VAYItA0IABPsNUnoZQM9C
|
||||
SnvC57TbvdfyOTCuPOSlZmPAyxBKFj+Y1QH/xlubHdVf5XqHrO1jCDRi7aN5IKGX
|
||||
QF1492c803OjggEeMIIBGjAfBgNVHSMEGDAWgBRck1ggWiRzVhAbZFAQ7OmnygdB
|
||||
ETAMBgNVHRMBAf8EAjAAMEgGA1UdIARBMD8wPQYIYIEchu8qAQEwMTAvBggrBgEF
|
||||
BQcCARYjaHR0cDovL3d3dy5jZmNhLmNvbS5jbi91cy91cy0xNC5odG0wNwYDVR0f
|
||||
BDAwLjAsoCqgKIYmaHR0cDovL2NybC5jZmNhLmNvbS5jbi9TTTIvY3JsNTYxOC5j
|
||||
cmwwGAYDVR0RBBEwD4INZWJzc2VjLmJvYy5jbjAOBgNVHQ8BAf8EBAMCBsAwHQYD
|
||||
VR0OBBYEFJ6oFo/OrKgDhHFORpaq04kX7T1KMB0GA1UdJQQWMBQGCCsGAQUFBwMC
|
||||
BggrBgEFBQcDATAMBggqgRzPVQGDdQUAA0kAMEYCIQCvhSvbv5h6ERl1YcCLg+fz
|
||||
9UleQbaPfBYwUjUD2dAHVQIhAMRC4k9S/mSC0UpUvCqh/DQC2Ui8Tccd5G2IgYSs
|
||||
cnUN
|
||||
-----END CERTIFICATE-----
|
||||
EOF
|
||||
|
||||
|
||||
KEY=11223344556677881122334455667788
|
||||
IV=11223344556677881122334455667788
|
||||
# CBC
|
||||
gmssl sm4 -cbc -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -cbc -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
echo hello | gmssl sm4 -cbc -encrypt -key $KEY -iv $IV -out sm4.cbc
|
||||
gmssl sm4 -cbc -decrypt -key $KEY -iv $IV -in sm4.cbc
|
||||
# CTR
|
||||
gmssl sm4 -ctr -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -ctr -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 12
|
||||
gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 112233445566778811223344 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 112233445566778811223344 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 1
|
||||
gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 11 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 16
|
||||
gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# GCM IV length = 32
|
||||
gmssl sm4 -gcm -encrypt -key 11223344556677881122334455667788 -iv 1122334455667788112233445566778811223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -gcm -decrypt -key 11223344556677881122334455667788 -iv 1122334455667788112233445566778811223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# CBC-SM3-HMAC
|
||||
gmssl sm4 -cbc_sm3_hmac -encrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -cbc_sm3_hmac -decrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
# CTR-SM3-HMAC
|
||||
gmssl sm4 -ctr_sm3_hmac -encrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in plaintext.txt -out ciphertext.bin
|
||||
gmssl sm4 -ctr_sm3_hmac -decrypt \
|
||||
-key 112233445566778811223344556677881122334455667788112233445566778811223344556677881122334455667788 \
|
||||
-iv 11223344556677881122334455667788 -in ciphertext.bin
|
||||
|
||||
|
||||
rm -fr plaintext.txt
|
||||
rm -fr ciphertext.bin
|
||||
|
||||
echo hello | gmssl sm4 -ctr -encrypt -key $KEY -iv $IV -out sm4.ctr
|
||||
gmssl sm4 -ctr -decrypt -key $KEY -iv $IV -in sm4.ctr
|
||||
|
||||
|
||||
Reference in New Issue
Block a user