Skip to content

Commit 8e62b82

Browse files
sec: add unit test for generic ciphering engine with NEA2
1 parent 4c83ce7 commit 8e62b82

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

tests/unittests/security/ciphering_engine_test.cpp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
*
99
*/
1010

11+
#include "lib/security/ciphering_engine_generic.h"
1112
#include "lib/security/ciphering_engine_nea2.h"
1213
#include "nea2_test_set.h"
1314
#include "srsran/security/ciphering_engine.h"
@@ -106,6 +107,27 @@ TEST_P(ciphering_engine_test, ciphering_engine_nea2)
106107
EXPECT_EQ(result.buf.value(), ciphertext);
107108
}
108109

110+
TEST_P(ciphering_engine_test, ciphering_engine_generic_nea2)
111+
{
112+
nea_test_set param = GetParam();
113+
114+
// Pack hex strings into srsran types
115+
sec_128_key key = make_sec_128_key(param.key_cstr);
116+
auto dir = static_cast<security_direction>(param.direction);
117+
byte_buffer plaintext = make_byte_buffer(param.plaintext_cstr).value();
118+
byte_buffer ciphertext = make_byte_buffer(param.ciphertext_cstr).value();
119+
120+
// Create ciphering engine
121+
std::unique_ptr<ciphering_engine> nea =
122+
std::make_unique<ciphering_engine_generic>(key, param.bearer, dir, ciphering_algorithm::nea2);
123+
124+
// Apply ciphering and compare results
125+
security_result result = nea->apply_ciphering(plaintext.deep_copy().value(), 0, param.count);
126+
ASSERT_TRUE(result.buf.has_value());
127+
ASSERT_TRUE(trim_tail_to_bitlength(result.buf.value(), param.length));
128+
EXPECT_EQ(result.buf.value(), ciphertext);
129+
}
130+
109131
//////////////////////////////////////////////////////////
110132
// Finally, instantiate all testcases for each test set //
111133
//////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)