Browse Source

tweet and block padding is now randomized

Simon 2 years ago
parent
commit
a4d9a80631
4 changed files with 15 additions and 12 deletions
  1. 8 6
      client/client.go
  2. 1 1
      follower/follower.go
  3. 1 1
      leader/leader.go
  4. 5 4
      lib/databaseRead.go

+ 8 - 6
client/client.go

@@ -50,7 +50,7 @@ var sharedSecret [numClients][2][32]byte = createSharedSecret()
 
 var wantsArchive = make([]byte, 1)
 
-var dataLen int = 32
+var dataLen int = 64
 var numThreads int = 12
 var dbWriteSize int = 4
 
@@ -76,11 +76,13 @@ func main() {
 			tweet = append(tweet, text...)
 		}
 		tweet = append(tweet, []byte(";")[0])
-		length := len(tweet)
-		for i := length; i < dataLen; i++ {
-			//todo! replace with random chars
-			tweet = append(tweet, []byte(";")[0])
-		}
+
+		//adds padding
+		length := dataLen - len(tweet)
+		padding := make([]byte, length)
+		rand.Read(padding)
+		tweet = append(tweet, padding...)
+
 		tweets[i] = tweet
 	}
 

+ 1 - 1
follower/follower.go

@@ -53,7 +53,7 @@ var leaderPublicKey *[32]byte
 var numThreads int = 12
 
 //has to be dividable by 32
-var dataLength int = 32
+var dataLength int = 64
 var dbWriteSize int = 4
 
 var round int = 1

+ 1 - 1
leader/leader.go

@@ -68,7 +68,7 @@ var archiveTopicAmount int
 var numThreads = 12
 
 //has to be dividable by 32
-var dataLength int = 32
+var dataLength int = 64
 
 //this needs to be adjusted peridodically
 var dbWriteSize int = 4

+ 5 - 4
lib/databaseRead.go

@@ -2,6 +2,7 @@ package lib
 
 import (
 	"bytes"
+	"crypto/rand"
 	"encoding/json"
 )
 
@@ -140,10 +141,10 @@ func tweetsToByteArray(tweetsToReturn [][]Tweet) []byte {
 			tweetToAppend = append(tweetToAppend, []byte(";")[0])
 		}
 		//adds padding
-		for i := len(tweetToAppend); i < minimumBlockSize; i++ {
-			//todo! replace with random chars
-			tweetToAppend = append(tweetToAppend, []byte(";")[0])
-		}
+		length := minimumBlockSize - len(tweetToAppend)
+		padding := make([]byte, length)
+		rand.Read(padding)
+		tweetToAppend = append(tweetToAppend, padding...)
 		Xor(tweetToAppend, tweetsAsBytes)
 	}