Browse Source

fix for V-SCT-VUL-018

main
Kevin Jue 1 year ago
parent
commit
0f6466c047
1 changed files with 7 additions and 7 deletions
  1. +7
    -7
      challenger/challenger.go

+ 7
- 7
challenger/challenger.go

@ -40,7 +40,8 @@ func NewChip(api frontend.API) *Chip {
} }
func (c *Chip) ObserveElement(element gl.Variable) { func (c *Chip) ObserveElement(element gl.Variable) {
c.outputBuffer = clearBuffer(c.outputBuffer)
// Clear the output buffer
c.outputBuffer = make([]gl.Variable, 0)
c.inputBuffer = append(c.inputBuffer, element) c.inputBuffer = append(c.inputBuffer, element)
if len(c.inputBuffer) == poseidon.SPONGE_RATE { if len(c.inputBuffer) == poseidon.SPONGE_RATE {
c.duplexing() c.duplexing()
@ -143,10 +144,6 @@ func (c *Chip) GetFriChallenges(
} }
} }
func clearBuffer(buffer []gl.Variable) []gl.Variable {
return make([]gl.Variable, 0)
}
func (c *Chip) duplexing() { func (c *Chip) duplexing() {
if len(c.inputBuffer) > poseidon.SPONGE_RATE { if len(c.inputBuffer) > poseidon.SPONGE_RATE {
fmt.Println(len(c.inputBuffer)) fmt.Println(len(c.inputBuffer))
@ -158,9 +155,12 @@ func (c *Chip) duplexing() {
for i := 0; i < len(c.inputBuffer); i++ { for i := 0; i < len(c.inputBuffer); i++ {
c.spongeState[i] = glApi.Reduce(c.inputBuffer[i]) c.spongeState[i] = glApi.Reduce(c.inputBuffer[i])
} }
c.inputBuffer = clearBuffer(c.inputBuffer)
// Clear the input buffer
c.inputBuffer = make([]gl.Variable, 0)
c.spongeState = c.poseidonChip.Poseidon(c.spongeState) c.spongeState = c.poseidonChip.Poseidon(c.spongeState)
clearBuffer(c.outputBuffer)
// Clear the output buffer
c.outputBuffer = make([]gl.Variable, 0)
for i := 0; i < poseidon.SPONGE_RATE; i++ { for i := 0; i < poseidon.SPONGE_RATE; i++ {
c.outputBuffer = append(c.outputBuffer, c.spongeState[i]) c.outputBuffer = append(c.outputBuffer, c.spongeState[i])
} }

Loading…
Cancel
Save