1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.
"""
Test using the NIST Test Vectors
"""
import binascii
import os
import pytest
from cryptography.hazmat.decrepit.ciphers.algorithms import RC2
from cryptography.hazmat.primitives.ciphers import modes
from ....utils import load_nist_vectors
from ..utils import generate_encrypt_test
@pytest.mark.supported(
only_if=lambda backend: backend.cipher_supported(
RC2(b"\x00" * 16), modes.CBC(b"\x00" * 8)
),
skip_message="Does not support RC2 CBC",
)
class TestRC2ModeCBC:
test_kat = generate_encrypt_test(
load_nist_vectors,
os.path.join("ciphers", "RC2"),
[
"rc2-cbc.txt",
],
lambda key, **kwargs: RC2(binascii.unhexlify(key)),
lambda iv, **kwargs: modes.CBC(binascii.unhexlify(iv)),
)
|