Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/cryptography/hazmat/decrepit/ciphers/modes.py: 68%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

31 statements  

1# This file is dual licensed under the terms of the Apache License, Version 

2# 2.0, and the BSD License. See the LICENSE file in the root of this repository 

3# for complete details. 

4 

5from __future__ import annotations 

6 

7from cryptography import utils 

8from cryptography.hazmat.primitives._modes import ( 

9 ModeWithInitializationVector, 

10 _check_iv_and_key_length, 

11) 

12 

13 

14class OFB(ModeWithInitializationVector): 

15 name = "OFB" 

16 

17 def __init__(self, initialization_vector: utils.Buffer): 

18 utils._check_byteslike("initialization_vector", initialization_vector) 

19 self._initialization_vector = initialization_vector 

20 

21 @property 

22 def initialization_vector(self) -> utils.Buffer: 

23 return self._initialization_vector 

24 

25 validate_for_algorithm = _check_iv_and_key_length 

26 

27 

28class CFB(ModeWithInitializationVector): 

29 name = "CFB" 

30 

31 def __init__(self, initialization_vector: utils.Buffer): 

32 utils._check_byteslike("initialization_vector", initialization_vector) 

33 self._initialization_vector = initialization_vector 

34 

35 @property 

36 def initialization_vector(self) -> utils.Buffer: 

37 return self._initialization_vector 

38 

39 validate_for_algorithm = _check_iv_and_key_length 

40 

41 

42class CFB8(ModeWithInitializationVector): 

43 name = "CFB8" 

44 

45 def __init__(self, initialization_vector: utils.Buffer): 

46 utils._check_byteslike("initialization_vector", initialization_vector) 

47 self._initialization_vector = initialization_vector 

48 

49 @property 

50 def initialization_vector(self) -> utils.Buffer: 

51 return self._initialization_vector 

52 

53 validate_for_algorithm = _check_iv_and_key_length