Skip to content

Commit

Permalink
Merge pull request #139 from cppalliance/aes192
Browse files Browse the repository at this point in the history
Add AES192, AES256, and related ECB CAVS tests
  • Loading branch information
mborland authored Dec 4, 2024
2 parents d0ecf86 + 7f7e8d3 commit 80c9a5b
Show file tree
Hide file tree
Showing 22 changed files with 10,167 additions and 3 deletions.
6 changes: 3 additions & 3 deletions include/boost/crypt/aes/aes128.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt

#ifndef BOOST_AES128_HPP
#define BOOST_AES128_HPP
#ifndef BOOST_CRYPT_AES_AES128_HPP
#define BOOST_CRYPT_AES_AES128_HPP

#include <boost/crypt/utility/config.hpp>
#include <boost/crypt/aes/detail/cipher.hpp>
Expand All @@ -17,4 +17,4 @@ BOOST_CRYPT_EXPORT using aes128 = aes::cipher<10>;
}
}

#endif //BOOST_AES128_HPP
#endif // BOOST_CRYPT_AES_AES128_HPP
20 changes: 20 additions & 0 deletions include/boost/crypt/aes/aes192.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright 2024 Matt Borland
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt

#ifndef BOOST_CRYPT_AES_AES192_HPP
#define BOOST_CRYPT_AES_AES192_HPP

#include <boost/crypt/utility/config.hpp>
#include <boost/crypt/aes/detail/cipher.hpp>
#include <boost/crypt/aes/detail/cipher_mode.hpp>

namespace boost {
namespace crypt {

BOOST_CRYPT_EXPORT using aes192 = aes::cipher<12>;

}
}

#endif // BOOST_CRYPT_AES_AES192_HPP
20 changes: 20 additions & 0 deletions include/boost/crypt/aes/aes256.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
// Copyright 2024 Matt Borland
// Distributed under the Boost Software License, Version 1.0.
// https://www.boost.org/LICENSE_1_0.txt

#ifndef BOOST_CRYPT_AES_AES256_HPP
#define BOOST_CRYPT_AES_AES256_HPP

#include <boost/crypt/utility/config.hpp>
#include <boost/crypt/aes/detail/cipher.hpp>
#include <boost/crypt/aes/detail/cipher_mode.hpp>

namespace boost {
namespace crypt {

BOOST_CRYPT_EXPORT using aes256 = aes::cipher<14>;

}
}

#endif // BOOST_CRYPT_AES_AES256_HPP
8 changes: 8 additions & 0 deletions test/Jamfile
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,11 @@ run test_nist_cavs_shake256_variable_output.cpp ;
run test_nist_cavs_aes128_kat.cpp ;
run test_nist_cavs_aes128_mmt.cpp ;
run test_nist_cavs_aes128_mct.cpp ;

run test_nist_cavs_aes192_kat.cpp ;
run test_nist_cavs_aes192_mmt.cpp ;
run test_nist_cavs_aes192_mct.cpp ;

run test_nist_cavs_aes256_kat.cpp ;
run test_nist_cavs_aes256_mmt.cpp ;
run test_nist_cavs_aes256_mct.cpp ;
70 changes: 70 additions & 0 deletions test/nist_cavs/vectors/aes/ECBGFSbox192_20.rsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# CAVS 20.2
# Config info for Axway API RHLinux6_VM
# AESVS GFSbox test data for ECB
# State : Encrypt and Decrypt
# Key Length : 192
# Generated on Wed Oct 05 10:33:49 2016

[ENCRYPT]

COUNT = 0
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = 1b077a6af4b7f98229de786d7516b639
CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72

COUNT = 1
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = 9c2d8842e5f48f57648205d39a239af1
CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d

COUNT = 2
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = bff52510095f518ecca60af4205444bb
CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440

COUNT = 3
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = 51719783d3185a535bd75adc65071ce1
CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c

COUNT = 4
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = 26aa49dcfe7629a8901a69a9914e6dfd
CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc

COUNT = 5
KEY = 000000000000000000000000000000000000000000000000
PLAINTEXT = 941a4773058224e1ef66d10e0a6ee782
CIPHERTEXT = 067cd9d3749207791841562507fa9626

[DECRYPT]

COUNT = 0
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = 275cfc0413d8ccb70513c3859b1d0f72
PLAINTEXT = 1b077a6af4b7f98229de786d7516b639

COUNT = 1
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = c9b8135ff1b5adc413dfd053b21bd96d
PLAINTEXT = 9c2d8842e5f48f57648205d39a239af1

COUNT = 2
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = 4a3650c3371ce2eb35e389a171427440
PLAINTEXT = bff52510095f518ecca60af4205444bb

COUNT = 3
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = 4f354592ff7c8847d2d0870ca9481b7c
PLAINTEXT = 51719783d3185a535bd75adc65071ce1

COUNT = 4
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = d5e08bf9a182e857cf40b3a36ee248cc
PLAINTEXT = 26aa49dcfe7629a8901a69a9914e6dfd

COUNT = 5
KEY = 000000000000000000000000000000000000000000000000
CIPHERTEXT = 067cd9d3749207791841562507fa9626
PLAINTEXT = 941a4773058224e1ef66d10e0a6ee782
60 changes: 60 additions & 0 deletions test/nist_cavs/vectors/aes/ECBGFSbox256_20.rsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# CAVS 20.2
# Config info for Axway API RHLinux6_VM
# AESVS GFSbox test data for ECB
# State : Encrypt and Decrypt
# Key Length : 256
# Generated on Wed Oct 05 10:33:51 2016

[ENCRYPT]

COUNT = 0
KEY = 0000000000000000000000000000000000000000000000000000000000000000
PLAINTEXT = 014730f80ac625fe84f026c60bfd547d
CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7

COUNT = 1
KEY = 0000000000000000000000000000000000000000000000000000000000000000
PLAINTEXT = 0b24af36193ce4665f2825d7b4749c98
CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04

COUNT = 2
KEY = 0000000000000000000000000000000000000000000000000000000000000000
PLAINTEXT = 761c1fe41a18acf20d241650611d90f1
CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421

COUNT = 3
KEY = 0000000000000000000000000000000000000000000000000000000000000000
PLAINTEXT = 8a560769d605868ad80d819bdba03771
CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4

COUNT = 4
KEY = 0000000000000000000000000000000000000000000000000000000000000000
PLAINTEXT = 91fbef2d15a97816060bee1feaa49afe
CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe

[DECRYPT]

COUNT = 0
KEY = 0000000000000000000000000000000000000000000000000000000000000000
CIPHERTEXT = 5c9d844ed46f9885085e5d6a4f94c7d7
PLAINTEXT = 014730f80ac625fe84f026c60bfd547d

COUNT = 1
KEY = 0000000000000000000000000000000000000000000000000000000000000000
CIPHERTEXT = a9ff75bd7cf6613d3731c77c3b6d0c04
PLAINTEXT = 0b24af36193ce4665f2825d7b4749c98

COUNT = 2
KEY = 0000000000000000000000000000000000000000000000000000000000000000
CIPHERTEXT = 623a52fcea5d443e48d9181ab32c7421
PLAINTEXT = 761c1fe41a18acf20d241650611d90f1

COUNT = 3
KEY = 0000000000000000000000000000000000000000000000000000000000000000
CIPHERTEXT = 38f2c7ae10612415d27ca190d27da8b4
PLAINTEXT = 8a560769d605868ad80d819bdba03771

COUNT = 4
KEY = 0000000000000000000000000000000000000000000000000000000000000000
CIPHERTEXT = 1bc704f1bce135ceb810341b216d7abe
PLAINTEXT = 91fbef2d15a97816060bee1feaa49afe
Loading

0 comments on commit 80c9a5b

Please sign in to comment.