github.com/GeniusesGroup/libgo@v0.0.0-20220929090155-5ff932cb408e/gp/crypto.go (about) 1 /* For license and copyright information please see LEGAL file in repository */ 2 3 package gp 4 5 import "../protocol" 6 7 // Encrypt use in encrypted connection from Apps to Apps! 8 func Encrypt(frames []byte, cipher protocol.Cipher) (payload []byte, err protocol.Error) { 9 err = cipher.Encrypt(frames) 10 return 11 } 12 13 // Decrypt use in encrypted connection from Apps to Apps! 14 func Decrypt(payload []byte, cipher protocol.Cipher) (frames []byte, err protocol.Error) { 15 // Decrypt packet by encryptionKey & Checksum data in this protocol : 16 // We check packet errors with encryption proccess together 17 // and needed checksum data will be add to encrypted data. 32 bit checksum in end of Packet 18 err = cipher.Decrypt(payload) 19 return 20 } 21 22 // EncryptRouting usually use in encrypted connection from OS to GP Router! 23 func EncryptRouting(packet []byte, cipher protocol.Cipher) (err protocol.Error) { 24 err = cipher.Encrypt(packet[:32]) 25 return 26 } 27 28 // DecryptRouting usually use in encrypted connection from OS to GP Router! 29 func DecryptRouting(packet []byte, cipher protocol.Cipher) (err protocol.Error) { 30 err = cipher.Decrypt(packet[:32]) 31 return 32 } 33 34 func checkSignature() {}