swarm/api: adapt RefEncryption for AC to new Encryption API

This commit is contained in:
zelig 2018-09-02 20:59:10 +02:00
parent cfa9fd0bf3
commit 214a27454b

View file

@ -25,27 +25,27 @@ import (
) )
type RefEncryption struct { type RefEncryption struct {
spanEncryption encryption.Encryption refSize int
dataEncryption encryption.Encryption span []byte
span []byte
} }
func NewRefEncryption(refSize int) *RefEncryption { func NewRefEncryption(refSize int) *RefEncryption {
span := make([]byte, 8) span := make([]byte, 8)
binary.LittleEndian.PutUint64(span, uint64(refSize)) binary.LittleEndian.PutUint64(span, uint64(refSize))
return &RefEncryption{ return &RefEncryption{
spanEncryption: encryption.New(0, uint32(refSize/32), sha3.NewKeccak256), refSize: refSize,
dataEncryption: encryption.New(refSize, 0, sha3.NewKeccak256), span: span,
span: span,
} }
} }
func (re *RefEncryption) Encrypt(ref []byte, key []byte) ([]byte, error) { func (re *RefEncryption) Encrypt(ref []byte, key []byte) ([]byte, error) {
encryptedSpan, err := re.spanEncryption.Encrypt(re.span, key) spanEncryption := encryption.New(key, 0, uint32(re.refSize/32), sha3.NewKeccak256)
encryptedSpan, err := spanEncryption.Encrypt(re.span)
if err != nil { if err != nil {
return nil, err return nil, err
} }
encryptedData, err := re.dataEncryption.Encrypt(ref, key) dataEncryption := encryption.New(key, re.refSize, 0, sha3.NewKeccak256)
encryptedData, err := dataEncryption.Encrypt(ref)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -57,7 +57,8 @@ func (re *RefEncryption) Encrypt(ref []byte, key []byte) ([]byte, error) {
} }
func (re *RefEncryption) Decrypt(ref []byte, key []byte) ([]byte, error) { func (re *RefEncryption) Decrypt(ref []byte, key []byte) ([]byte, error) {
decryptedSpan, err := re.spanEncryption.Decrypt(ref[:8], key) spanEncryption := encryption.New(key, 0, uint32(re.refSize/32), sha3.NewKeccak256)
decryptedSpan, err := spanEncryption.Decrypt(ref[:8])
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -67,7 +68,8 @@ func (re *RefEncryption) Decrypt(ref []byte, key []byte) ([]byte, error) {
return nil, errors.New("invalid span in encrypted reference") return nil, errors.New("invalid span in encrypted reference")
} }
decryptedRef, err := re.dataEncryption.Decrypt(ref[8:], key) dataEncryption := encryption.New(key, re.refSize, 0, sha3.NewKeccak256)
decryptedRef, err := dataEncryption.Decrypt(ref[8:])
if err != nil { if err != nil {
return nil, err return nil, err
} }