commit 4aa898c7feacd2c5a16c875591039edfd3e6d215
parent a38ef9edcc4163a7abb023f9a476320b5b33fec5
Author: Andrew Laack <andrew@laack.co>
Date: Sun, 17 May 2026 03:00:35 -0500
Fixed selection logic; 0 -> first half 1 -> second half
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mas.s62-cryptocurrency-engineering-and-design/lamport-signature/main.go b/mas.s62-cryptocurrency-engineering-and-design/lamport-signature/main.go
@@ -53,7 +53,7 @@ func Sign(privateKey Key, message string) [256][32]byte {
currentByteString := fmt.Sprintf("%08b", messageHash[index])
for idx := range 8 {
currentBit := currentByteString[idx]
- if currentBit == '1' {
+ if currentBit == '0' {
signature[(index*8)+idx] = privateKey.firstRow[(index*8)+idx]
} else {
signature[(index*8)+idx] = privateKey.secondRow[(index*8)+idx]
@@ -72,7 +72,7 @@ func Verify(publicKey Key, message string, signature [256][32]byte) bool {
currentByteString := fmt.Sprintf("%08b", messageHash[index])
for idx := range 8 {
currentBit := currentByteString[idx]
- if currentBit == '1' {
+ if currentBit == '0' {
// signature[(index * 8) + idx] = privateKey.firstRow[(index * 8) + idx]
if sha256.Sum256(signature[(index*8)+idx][:]) != publicKey.firstRow[(index*8)+idx] {
return false