Skip to content

Commit f76a6f3

Browse files
authored
Fix/reduce encryption header size (#538)
* fix(download): reduced EncryptionHeaderSize with 257 * fix(download): reduced EncryptionHeaderSize with 256
1 parent a2465dd commit f76a6f3

File tree

3 files changed

+8
-11
lines changed

3 files changed

+8
-11
lines changed

code/go/0chain.net/blobbercore/handler/chunk_encoder.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package handler
33
import (
44
"bytes"
55
"errors"
6-
"strings"
76

87
zencryption "github.com/0chain/gosdk/zboxcore/encryption"
98
)
@@ -62,14 +61,12 @@ func (r *PREChunkEncoder) Encode(chunkSize int, data []byte) ([]byte, error) {
6261

6362
headerBytes := chunkData[:EncryptionHeaderSize]
6463
headerBytes = bytes.Trim(headerBytes, "\x00")
65-
headerString := string(headerBytes)
6664

67-
headerChecksums := strings.Split(headerString, ",")
68-
if len(headerChecksums) != 2 {
65+
if len(headerBytes) != EncryptionHeaderSize {
6966
return nil, errors.New("Block has invalid encryption header")
7067
}
7168

72-
encMsg.MessageChecksum, encMsg.OverallChecksum = headerChecksums[0], headerChecksums[1]
69+
encMsg.MessageChecksum, encMsg.OverallChecksum = string(headerBytes[:128]), string(headerBytes[128:])
7370
encMsg.EncryptedKey = encscheme.GetEncryptedKey()
7471

7572
reEncMsg, err := encscheme.ReEncrypt(encMsg, r.ReEncryptionKey, r.ClientEncryptionPublicKey)

code/go/0chain.net/blobbercore/handler/handler_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,7 +1877,7 @@ func TestHandlers_Requiring_Signature(t *testing.T) {
18771877
}
18781878

18791879
header := make([]byte, EncryptionHeaderSize)
1880-
copy(header, encMsg.MessageChecksum+","+encMsg.OverallChecksum)
1880+
copy(header, encMsg.MessageChecksum+encMsg.OverallChecksum)
18811881
data := append(header, encMsg.EncryptedData...)
18821882
fmt.Println("Encrypted data: ", string(data))
18831883
setMockFileBlock(data)
@@ -2029,7 +2029,7 @@ func TestHandlers_Requiring_Signature(t *testing.T) {
20292029
}
20302030

20312031
header := make([]byte, EncryptionHeaderSize)
2032-
copy(header, encMsg.MessageChecksum+","+encMsg.OverallChecksum)
2032+
copy(header, encMsg.MessageChecksum+encMsg.OverallChecksum)
20332033
data := append(header, encMsg.EncryptedData...)
20342034
setMockFileBlock(data)
20352035
},
@@ -2184,7 +2184,7 @@ func TestHandlers_Requiring_Signature(t *testing.T) {
21842184
}
21852185

21862186
header := make([]byte, EncryptionHeaderSize)
2187-
copy(header, encMsg.MessageChecksum+","+encMsg.OverallChecksum)
2187+
copy(header, encMsg.MessageChecksum+encMsg.OverallChecksum)
21882188
data := append(header, encMsg.EncryptedData...)
21892189
setMockFileBlock(data)
21902190
},
@@ -2339,7 +2339,7 @@ func TestHandlers_Requiring_Signature(t *testing.T) {
23392339
}
23402340

23412341
header := make([]byte, EncryptionHeaderSize)
2342-
copy(header, encMsg.MessageChecksum+","+encMsg.OverallChecksum)
2342+
copy(header, encMsg.MessageChecksum+encMsg.OverallChecksum)
23432343
data := append(header, encMsg.EncryptedData...)
23442344
setMockFileBlock(data)
23452345
},

code/go/0chain.net/blobbercore/handler/object_operation_handler.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ import (
3434
)
3535

3636
const (
37-
// EncryptionHeaderSize encryption header size in chunk
38-
EncryptionHeaderSize = 2 * 1024
37+
// EncryptionHeaderSize encryption header size in chunk: PRE.MessageChecksum(128)"+PRE.OverallChecksum(128)
38+
EncryptionHeaderSize = 128 + 128
3939
// ReEncryptionHeaderSize re-encryption header size in chunk
4040
ReEncryptionHeaderSize = 256
4141
)

0 commit comments

Comments
 (0)