1// Copyright 2023 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5package des 6 7import "testing" 8 9func TestInitialPermute(t *testing.T) { 10 for i := uint(0); i < 64; i++ { 11 bit := uint64(1) << i 12 got := permuteInitialBlock(bit) 13 want := uint64(1) << finalPermutation[63-i] 14 if got != want { 15 t.Errorf("permute(%x) = %x, want %x", bit, got, want) 16 } 17 } 18} 19 20func TestFinalPermute(t *testing.T) { 21 for i := uint(0); i < 64; i++ { 22 bit := uint64(1) << i 23 got := permuteFinalBlock(bit) 24 want := uint64(1) << initialPermutation[63-i] 25 if got != want { 26 t.Errorf("permute(%x) = %x, want %x", bit, got, want) 27 } 28 } 29} 30