Skip to content

Commit 55eaa0f

Browse files
committed
Formatting and restoring Block constructor
1 parent 519f411 commit 55eaa0f

File tree

4 files changed

+35
-21
lines changed

4 files changed

+35
-21
lines changed

Sources/_CryptoExtras/AES/AES_CBC.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ extension AES {
6767
var ciphertext = Data()
6868
ciphertext.reserveCapacity(plaintext.count + Self.blockSize) // Room for padding.
6969

70-
var previousBlock = Block(blockBytes: iv)
70+
var previousBlock = Block(iv)
7171
var plaintext = plaintext[...]
7272

7373
while plaintext.count > 0 {
@@ -121,7 +121,7 @@ extension AES {
121121
var plaintext = Data()
122122
plaintext.reserveCapacity(ciphertext.count)
123123

124-
var previousBlock = Block(blockBytes: iv)
124+
var previousBlock = Block(iv)
125125
var ciphertext = ciphertext[...]
126126

127127
while ciphertext.count > 0 {

Sources/_CryptoExtras/AES/Block Function.swift

+4
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,10 @@ extension AES {
132132
self.blockBytes = blockBytes
133133
}
134134

135+
init(_ iv: AES._CBC.IV) {
136+
self.blockBytes = iv.bytes
137+
}
138+
135139
init<BlockBytes: Sequence>(blockBytes: BlockBytes) where BlockBytes.Element == UInt8 {
136140
let blockBytes: [UInt8] = Array(blockBytes)
137141
self.init(blockBytes: blockBytes)

Sources/_CryptoExtras/AES/Nonces.swift

+18-12
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@ extension AES._CBC {
3131
UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8
3232
)
3333

34-
private var bytes: IVTuple
34+
var bytes: IVTuple
35+
static var emptyBytes: IVTuple = (
36+
0, 0, 0, 0, 0, 0, 0, 0,
37+
0, 0, 0, 0, 0, 0, 0, 0
38+
)
3539

3640
/// Creates a new random nonce.
3741
public init() {
38-
var bytes = IVTuple(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
42+
var bytes = Self.emptyBytes
3943
Swift.withUnsafeMutableBytes(of: &bytes) {
4044
let count = MemoryLayout<IVTuple>.size
4145
$0.initializeWithRandomBytes(count: count)
@@ -56,7 +60,7 @@ extension AES._CBC {
5660
throw CryptoKitError.incorrectKeySize
5761
}
5862

59-
var bytes = IVTuple(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
63+
var bytes = Self.emptyBytes
6064
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
6165
bytesPtr.copyBytes(from: ivBytes)
6266
}
@@ -76,7 +80,7 @@ extension AES._CBC {
7680
throw CryptoKitError.incorrectParameterSize
7781
}
7882

79-
var bytes = IVTuple(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
83+
var bytes = Self.emptyBytes
8084
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
8185
data.copyBytes(to: bytesPtr)
8286
}
@@ -123,11 +127,12 @@ extension AES._CFB {
123127
public struct IV: Sendable, ContiguousBytes, Sequence {
124128
typealias IVTuple = (UInt64, UInt64)
125129

126-
private var bytes: IVTuple
130+
var bytes: IVTuple
131+
static var emptyBytes: IVTuple = (0, 0)
127132

128133
/// Creates a new random nonce.
129134
public init() {
130-
var bytes = IVTuple(0,0)
135+
var bytes = Self.emptyBytes
131136
Swift.withUnsafeMutableBytes(of: &bytes) {
132137
let count = MemoryLayout<IVTuple>.size
133138
$0.initializeWithRandomBytes(count: count)
@@ -148,7 +153,7 @@ extension AES._CFB {
148153
throw CryptoKitError.incorrectKeySize
149154
}
150155

151-
var bytes = IVTuple(0,0)
156+
var bytes = Self.emptyBytes
152157
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
153158
bytesPtr.copyBytes(from: ivBytes)
154159
}
@@ -168,7 +173,7 @@ extension AES._CFB {
168173
throw CryptoKitError.incorrectParameterSize
169174
}
170175

171-
var bytes = IVTuple(0,0)
176+
var bytes = Self.emptyBytes
172177
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
173178
data.copyBytes(to: bytesPtr)
174179
}
@@ -215,11 +220,12 @@ extension AES._CTR {
215220
public struct Nonce: Sendable, ContiguousBytes, Sequence {
216221
typealias NonceTuple = (UInt64, UInt32, UInt32)
217222

218-
private var bytes: NonceTuple
223+
var bytes: NonceTuple
224+
static var emptyBytes: NonceTuple = (0, 0, 0)
219225

220226
/// Creates a new random nonce.
221227
public init() {
222-
var bytes = NonceTuple(0,0,0)
228+
var bytes = Self.emptyBytes
223229
Swift.withUnsafeMutableBytes(of: &bytes) {
224230
let count = MemoryLayout<NonceTuple>.size
225231
$0.initializeWithRandomBytes(count: count)
@@ -240,7 +246,7 @@ extension AES._CTR {
240246
throw CryptoKitError.incorrectKeySize
241247
}
242248

243-
var bytes = NonceTuple(0,0,0)
249+
var bytes = Self.emptyBytes
244250
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
245251
bytesPtr.copyBytes(from: nonceBytes)
246252
}
@@ -260,7 +266,7 @@ extension AES._CTR {
260266
throw CryptoKitError.incorrectParameterSize
261267
}
262268

263-
var bytes = NonceTuple(0,0,0)
269+
var bytes = Self.emptyBytes
264270
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
265271
data.copyBytes(to: bytesPtr)
266272
}

Sources/_CryptoExtras/AES/Nonces.swift.gyb

+11-7
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,12 @@ ciphers = [
2222
{"name": "AES._CBC", "nonceName": "IV", "tupleDefinition": """(
2323
UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8,
2424
UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8, UInt8
25-
)""", "tupleBlank": "(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)"},
26-
{"name": "AES._CFB", "nonceName": "IV", "tupleDefinition": "(UInt64, UInt64)", "tupleBlank": "(0,0)"},
27-
{"name": "AES._CTR", "nonceName": "Nonce", "tupleDefinition": "(UInt64, UInt32, UInt32)", "tupleBlank": "(0,0,0)"}]
25+
)""", "tupleBlank": """(
26+
0, 0, 0, 0, 0, 0, 0, 0,
27+
0, 0, 0, 0, 0, 0, 0, 0
28+
)"""},
29+
{"name": "AES._CFB", "nonceName": "IV", "tupleDefinition": "(UInt64, UInt64)", "tupleBlank": "(0, 0)"},
30+
{"name": "AES._CTR", "nonceName": "Nonce", "tupleDefinition": "(UInt64, UInt32, UInt32)", "tupleBlank": "(0, 0, 0)"}]
2831
}%
2932
% for cipher in ciphers:
3033
%{
@@ -44,11 +47,12 @@ extension ${name} {
4447
public struct ${nonceName}: Sendable, ContiguousBytes, Sequence {
4548
typealias ${nonceName}Tuple = ${tupleDefinition}
4649

47-
private var bytes: ${nonceName}Tuple
50+
var bytes: ${nonceName}Tuple
51+
static var emptyBytes: ${nonceName}Tuple = ${tupleBlank}
4852

4953
/// Creates a new random nonce.
5054
public init() {
51-
var bytes = ${nonceName}Tuple${tupleBlank}
55+
var bytes = Self.emptyBytes
5256
Swift.withUnsafeMutableBytes(of: &bytes) {
5357
let count = MemoryLayout<${nonceName}Tuple>.size
5458
$0.initializeWithRandomBytes(count: count)
@@ -69,7 +73,7 @@ extension ${name} {
6973
throw CryptoKitError.incorrectKeySize
7074
}
7175

72-
var bytes = ${nonceName}Tuple${tupleBlank}
76+
var bytes = Self.emptyBytes
7377
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
7478
bytesPtr.copyBytes(from: ${nonceName.lower()}Bytes)
7579
}
@@ -89,7 +93,7 @@ extension ${name} {
8993
throw CryptoKitError.incorrectParameterSize
9094
}
9195

92-
var bytes = ${nonceName}Tuple${tupleBlank}
96+
var bytes = Self.emptyBytes
9397
Swift.withUnsafeMutableBytes(of: &bytes) { bytesPtr in
9498
data.copyBytes(to: bytesPtr)
9599
}

0 commit comments

Comments
 (0)