github.com/insolar/vanilla@v0.0.0-20201023172447-248fdf805322/cryptkit/ciphers.go (about)

     1  // Copyright 2020 Insolar Network Ltd.
     2  // All rights reserved.
     3  // This material is licensed under the Insolar License version 1.0,
     4  // available at https://github.com/insolar/assured-ledger/blob/master/LICENSE.md.
     5  
     6  package cryptkit
     7  
     8  import "io"
     9  
    10  type Decrypter interface {
    11  	SignatureKey() SigningKey
    12  	DecryptBytes([]byte) []byte
    13  	NewDecryptingReader(src io.Reader, encryptedSize uint) (r io.Reader, plainSize uint)
    14  }
    15  
    16  type Encrypter interface {
    17  	SignatureKey() SigningKey
    18  	EncryptBytes([]byte) []byte
    19  	NewEncryptingWriter(dst io.Writer, plainSize uint) io.Writer
    20  
    21  	GetOverheadSize(dataSize uint) uint
    22  }