Files
mautrix-telegram/pkg/gotd/crypto/keys_old_test.go
T
2025-06-27 20:03:37 -07:00

46 lines
1.0 KiB
Go

package crypto
import (
"bytes"
"crypto/aes"
"testing"
"github.com/stretchr/testify/require"
"github.com/gotd/ige"
"go.mau.fi/mautrix-telegram/pkg/gotd/bin"
)
func TestOldKeys(t *testing.T) {
a := require.New(t)
var (
authKey Key
msgKey bin.Int128
)
for i := range authKey {
authKey[i] = byte(i)
}
for i := range msgKey {
msgKey[i] = byte(i)
}
data := bytes.Repeat([]byte("aboba"), 16)
encrypted := make([]byte, len(data))
{
key, iv := OldKeys(authKey, msgKey, Server)
a.Equal(key, bin.Int256{
0xbb, 0x17, 0xb0, 0x7e, 0xb9, 0x11, 0x10, 0x64, 0x70, 0x98, 0xb0, 0x69, 0xbd, 0x1a, 0x9b, 0x6f,
0xe5, 0xc4, 0xbc, 0xc3, 0xc3, 0x1f, 0x8e, 0x67, 0xe8, 0x31, 0xd0, 0x7a, 0x61, 0x08, 0x5f, 0x68,
})
a.Equal(iv, bin.Int256{
0x51, 0x97, 0xfc, 0x1e, 0x25, 0xb4, 0x1f, 0xe3, 0x6f, 0x18, 0xb5, 0xa3, 0xa8, 0xb2, 0xb3, 0x6c,
0xb2, 0xcb, 0x06, 0x1f, 0x1f, 0x15, 0x7b, 0x35, 0x14, 0xfe, 0x42, 0xe7, 0x4f, 0xb5, 0x83, 0x59,
})
block, err := aes.NewCipher(key[:])
a.NoError(err)
ige.EncryptBlocks(block, iv[:], encrypted, data)
}
}