Skip to content

Commit 40ab461

Browse files
author
Jim Bennett
committed
Black formatting
1 parent 799dc5d commit 40ab461

File tree

2 files changed

+82
-207
lines changed

2 files changed

+82
-207
lines changed

adafruit_azureiot/hmac.py

Lines changed: 81 additions & 207 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,18 @@
3333

3434
# pylint: disable=C0103, W0108, R0915, C0116, C0115
3535

36+
3637
def __translate(key, translation):
3738
return bytes(translation[x] for x in key)
3839

40+
3941
TRANS_5C = bytes((x ^ 0x5C) for x in range(256))
4042
TRANS_36 = bytes((x ^ 0x36) for x in range(256))
4143

4244
SHA_BLOCKSIZE = 64
4345
SHA_DIGESTSIZE = 32
4446

47+
4548
def new_shaobject():
4649
"""Struct. for storing SHA information."""
4750
return {
@@ -53,6 +56,7 @@ def new_shaobject():
5356
"digestsize": 0,
5457
}
5558

59+
5660
def sha_init():
5761
"""Initialize the SHA digest."""
5862
sha_info = new_shaobject()
@@ -72,9 +76,8 @@ def sha_init():
7276
sha_info["digestsize"] = 32
7377
return sha_info
7478

75-
ROR = (
76-
lambda x, y: (((x & 0xFFFFFFFF) >> (y & 31)) | (x << (32 - (y & 31)))) & 0xFFFFFFFF
77-
)
79+
80+
ROR = lambda x, y: (((x & 0xFFFFFFFF) >> (y & 31)) | (x << (32 - (y & 31)))) & 0xFFFFFFFF
7881
Ch = lambda x, y, z: (z ^ (x & (y ^ z)))
7982
Maj = lambda x, y, z: (((x | y) & z) | (x & y))
8083
S = lambda x, n: ROR(x, n)
@@ -84,19 +87,16 @@ def sha_init():
8487
Gamma0 = lambda x: (S(x, 7) ^ S(x, 18) ^ R(x, 3))
8588
Gamma1 = lambda x: (S(x, 17) ^ S(x, 19) ^ R(x, 10))
8689

90+
8791
def sha_transform(sha_info):
8892
W = []
8993

9094
d = sha_info["data"]
9195
for i in range(0, 16):
92-
W.append(
93-
(d[4 * i] << 24) + (d[4 * i + 1] << 16) + (d[4 * i + 2] << 8) + d[4 * i + 3]
94-
)
96+
W.append((d[4 * i] << 24) + (d[4 * i + 1] << 16) + (d[4 * i + 2] << 8) + d[4 * i + 3])
9597

9698
for i in range(16, 64):
97-
W.append(
98-
(Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16]) & 0xFFFFFFFF
99-
)
99+
W.append((Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16]) & 0xFFFFFFFF)
100100

101101
ss = sha_info["digest"][:]
102102

@@ -109,205 +109,78 @@ def RND(a, b, c, d, e, f, g, h, i, ki):
109109
h = t0 + t1
110110
return d & 0xFFFFFFFF, h & 0xFFFFFFFF
111111

112-
ss[3], ss[7] = RND(
113-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 0, 0x428A2F98
114-
)
115-
ss[2], ss[6] = RND(
116-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 1, 0x71374491
117-
)
118-
ss[1], ss[5] = RND(
119-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 2, 0xB5C0FBCF
120-
)
121-
ss[0], ss[4] = RND(
122-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 3, 0xE9B5DBA5
123-
)
124-
ss[7], ss[3] = RND(
125-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 4, 0x3956C25B
126-
)
127-
ss[6], ss[2] = RND(
128-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 5, 0x59F111F1
129-
)
130-
ss[5], ss[1] = RND(
131-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 6, 0x923F82A4
132-
)
133-
ss[4], ss[0] = RND(
134-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 7, 0xAB1C5ED5
135-
)
136-
ss[3], ss[7] = RND(
137-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 8, 0xD807AA98
138-
)
139-
ss[2], ss[6] = RND(
140-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 9, 0x12835B01
141-
)
142-
ss[1], ss[5] = RND(
143-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 10, 0x243185BE
144-
)
145-
ss[0], ss[4] = RND(
146-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 11, 0x550C7DC3
147-
)
148-
ss[7], ss[3] = RND(
149-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 12, 0x72BE5D74
150-
)
151-
ss[6], ss[2] = RND(
152-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 13, 0x80DEB1FE
153-
)
154-
ss[5], ss[1] = RND(
155-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 14, 0x9BDC06A7
156-
)
157-
ss[4], ss[0] = RND(
158-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 15, 0xC19BF174
159-
)
160-
ss[3], ss[7] = RND(
161-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 16, 0xE49B69C1
162-
)
163-
ss[2], ss[6] = RND(
164-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 17, 0xEFBE4786
165-
)
166-
ss[1], ss[5] = RND(
167-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 18, 0x0FC19DC6
168-
)
169-
ss[0], ss[4] = RND(
170-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 19, 0x240CA1CC
171-
)
172-
ss[7], ss[3] = RND(
173-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 20, 0x2DE92C6F
174-
)
175-
ss[6], ss[2] = RND(
176-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 21, 0x4A7484AA
177-
)
178-
ss[5], ss[1] = RND(
179-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 22, 0x5CB0A9DC
180-
)
181-
ss[4], ss[0] = RND(
182-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 23, 0x76F988DA
183-
)
184-
ss[3], ss[7] = RND(
185-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 24, 0x983E5152
186-
)
187-
ss[2], ss[6] = RND(
188-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 25, 0xA831C66D
189-
)
190-
ss[1], ss[5] = RND(
191-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 26, 0xB00327C8
192-
)
193-
ss[0], ss[4] = RND(
194-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 27, 0xBF597FC7
195-
)
196-
ss[7], ss[3] = RND(
197-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 28, 0xC6E00BF3
198-
)
199-
ss[6], ss[2] = RND(
200-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 29, 0xD5A79147
201-
)
202-
ss[5], ss[1] = RND(
203-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 30, 0x06CA6351
204-
)
205-
ss[4], ss[0] = RND(
206-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 31, 0x14292967
207-
)
208-
ss[3], ss[7] = RND(
209-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 32, 0x27B70A85
210-
)
211-
ss[2], ss[6] = RND(
212-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 33, 0x2E1B2138
213-
)
214-
ss[1], ss[5] = RND(
215-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 34, 0x4D2C6DFC
216-
)
217-
ss[0], ss[4] = RND(
218-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 35, 0x53380D13
219-
)
220-
ss[7], ss[3] = RND(
221-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 36, 0x650A7354
222-
)
223-
ss[6], ss[2] = RND(
224-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 37, 0x766A0ABB
225-
)
226-
ss[5], ss[1] = RND(
227-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 38, 0x81C2C92E
228-
)
229-
ss[4], ss[0] = RND(
230-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 39, 0x92722C85
231-
)
232-
ss[3], ss[7] = RND(
233-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 40, 0xA2BFE8A1
234-
)
235-
ss[2], ss[6] = RND(
236-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 41, 0xA81A664B
237-
)
238-
ss[1], ss[5] = RND(
239-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 42, 0xC24B8B70
240-
)
241-
ss[0], ss[4] = RND(
242-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 43, 0xC76C51A3
243-
)
244-
ss[7], ss[3] = RND(
245-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 44, 0xD192E819
246-
)
247-
ss[6], ss[2] = RND(
248-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 45, 0xD6990624
249-
)
250-
ss[5], ss[1] = RND(
251-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 46, 0xF40E3585
252-
)
253-
ss[4], ss[0] = RND(
254-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 47, 0x106AA070
255-
)
256-
ss[3], ss[7] = RND(
257-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 48, 0x19A4C116
258-
)
259-
ss[2], ss[6] = RND(
260-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 49, 0x1E376C08
261-
)
262-
ss[1], ss[5] = RND(
263-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 50, 0x2748774C
264-
)
265-
ss[0], ss[4] = RND(
266-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 51, 0x34B0BCB5
267-
)
268-
ss[7], ss[3] = RND(
269-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 52, 0x391C0CB3
270-
)
271-
ss[6], ss[2] = RND(
272-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 53, 0x4ED8AA4A
273-
)
274-
ss[5], ss[1] = RND(
275-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 54, 0x5B9CCA4F
276-
)
277-
ss[4], ss[0] = RND(
278-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 55, 0x682E6FF3
279-
)
280-
ss[3], ss[7] = RND(
281-
ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 56, 0x748F82EE
282-
)
283-
ss[2], ss[6] = RND(
284-
ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 57, 0x78A5636F
285-
)
286-
ss[1], ss[5] = RND(
287-
ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 58, 0x84C87814
288-
)
289-
ss[0], ss[4] = RND(
290-
ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 59, 0x8CC70208
291-
)
292-
ss[7], ss[3] = RND(
293-
ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 60, 0x90BEFFFA
294-
)
295-
ss[6], ss[2] = RND(
296-
ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 61, 0xA4506CEB
297-
)
298-
ss[5], ss[1] = RND(
299-
ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 62, 0xBEF9A3F7
300-
)
301-
ss[4], ss[0] = RND(
302-
ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 63, 0xC67178F2
303-
)
112+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 0, 0x428A2F98)
113+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 1, 0x71374491)
114+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 2, 0xB5C0FBCF)
115+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 3, 0xE9B5DBA5)
116+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 4, 0x3956C25B)
117+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 5, 0x59F111F1)
118+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 6, 0x923F82A4)
119+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 7, 0xAB1C5ED5)
120+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 8, 0xD807AA98)
121+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 9, 0x12835B01)
122+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 10, 0x243185BE)
123+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 11, 0x550C7DC3)
124+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 12, 0x72BE5D74)
125+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 13, 0x80DEB1FE)
126+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 14, 0x9BDC06A7)
127+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 15, 0xC19BF174)
128+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 16, 0xE49B69C1)
129+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 17, 0xEFBE4786)
130+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 18, 0x0FC19DC6)
131+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 19, 0x240CA1CC)
132+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 20, 0x2DE92C6F)
133+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 21, 0x4A7484AA)
134+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 22, 0x5CB0A9DC)
135+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 23, 0x76F988DA)
136+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 24, 0x983E5152)
137+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 25, 0xA831C66D)
138+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 26, 0xB00327C8)
139+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 27, 0xBF597FC7)
140+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 28, 0xC6E00BF3)
141+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 29, 0xD5A79147)
142+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 30, 0x06CA6351)
143+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 31, 0x14292967)
144+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 32, 0x27B70A85)
145+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 33, 0x2E1B2138)
146+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 34, 0x4D2C6DFC)
147+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 35, 0x53380D13)
148+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 36, 0x650A7354)
149+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 37, 0x766A0ABB)
150+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 38, 0x81C2C92E)
151+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 39, 0x92722C85)
152+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 40, 0xA2BFE8A1)
153+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 41, 0xA81A664B)
154+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 42, 0xC24B8B70)
155+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 43, 0xC76C51A3)
156+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 44, 0xD192E819)
157+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 45, 0xD6990624)
158+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 46, 0xF40E3585)
159+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 47, 0x106AA070)
160+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 48, 0x19A4C116)
161+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 49, 0x1E376C08)
162+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 50, 0x2748774C)
163+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 51, 0x34B0BCB5)
164+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 52, 0x391C0CB3)
165+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 53, 0x4ED8AA4A)
166+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 54, 0x5B9CCA4F)
167+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 55, 0x682E6FF3)
168+
ss[3], ss[7] = RND(ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], 56, 0x748F82EE)
169+
ss[2], ss[6] = RND(ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], 57, 0x78A5636F)
170+
ss[1], ss[5] = RND(ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], ss[5], 58, 0x84C87814)
171+
ss[0], ss[4] = RND(ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], ss[4], 59, 0x8CC70208)
172+
ss[7], ss[3] = RND(ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], ss[3], 60, 0x90BEFFFA)
173+
ss[6], ss[2] = RND(ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], ss[2], 61, 0xA4506CEB)
174+
ss[5], ss[1] = RND(ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], ss[1], 62, 0xBEF9A3F7)
175+
ss[4], ss[0] = RND(ss[1], ss[2], ss[3], ss[4], ss[5], ss[6], ss[7], ss[0], 63, 0xC67178F2)
304176

305177
# Feedback
306178
dig = []
307179
for i, x in enumerate(sha_info["digest"]):
308180
dig.append((x + ss[i]) & 0xFFFFFFFF)
309181
sha_info["digest"] = dig
310182

183+
311184
def sha_update(sha_info, buffer):
312185
"""Update the SHA digest.
313186
:param dict sha_info: SHA Digest.
@@ -355,11 +228,13 @@ def sha_update(sha_info, buffer):
355228
sha_info["data"][pos : pos + count] = list(buffer[buffer_idx : buffer_idx + count])
356229
sha_info["local"] = count
357230

231+
358232
def getbuf(s):
359233
if isinstance(s, str):
360234
return s.encode("ascii")
361235
return bytes(s)
362236

237+
363238
def sha_final(sha_info):
364239
"""Finish computing the SHA Digest."""
365240
lo_bit_count = sha_info["count_lo"]
@@ -389,11 +264,10 @@ def sha_final(sha_info):
389264

390265
dig = []
391266
for i in sha_info["digest"]:
392-
dig.extend(
393-
[((i >> 24) & 0xFF), ((i >> 16) & 0xFF), ((i >> 8) & 0xFF), (i & 0xFF)]
394-
)
267+
dig.extend([((i >> 24) & 0xFF), ((i >> 16) & 0xFF), ((i >> 8) & 0xFF), (i & 0xFF)])
395268
return bytes(dig)
396269

270+
397271
# pylint: disable=protected-access
398272
class sha256:
399273
digest_size = digestsize = SHA_DIGESTSIZE
@@ -429,6 +303,7 @@ def copy(self):
429303
new._sha = self._sha.copy()
430304
return new
431305

306+
432307
class HMAC:
433308
"""RFC 2104 HMAC class. Also complies with RFC 4231.
434309
@@ -453,9 +328,7 @@ def __init__(self, key, msg=None):
453328
"""
454329

455330
if not isinstance(key, (bytes, bytearray)):
456-
raise TypeError(
457-
"key: expected bytes or bytearray, but got %r" % type(key).__name__
458-
)
331+
raise TypeError("key: expected bytes or bytearray, but got %r" % type(key).__name__)
459332

460333
digestmod = sha256
461334

@@ -534,6 +407,7 @@ def hexdigest(self):
534407
hmac = self._current()
535408
return hmac.hexdigest()
536409

410+
537411
def new_hmac(key, msg=None):
538412
"""Create a new hashing object and return it.
539413

adafruit_azureiot/keys.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import circuitpython_base64 as base64
99
from .hmac import new_hmac
1010

11+
1112
def compute_derived_symmetric_key(secret: str, msg: str) -> bytes:
1213
"""Computes a derived symmetric key from a secret and a message
1314
:param str secret: The secret to use for the key

0 commit comments

Comments
 (0)