The cr.yp.to microblog: 2020.06.22 10:27:45

2020.06.22 10:27:45 (1274982392684404736) from Daniel J. Bernstein, replying to "Ciprian Manea (@ovipic)" (1274669056675778566):

An example is the "FaCT" language: https://www.sysnet.ucsd.edu/~bjohanne/assets/papers/2019pldi.pdf

Context

2020.06.20 21:32:44 (1274424968001073156) from "Ciprian Manea (@ovipic)":

What are constant-time languages? #thanks

2020.06.21 11:52:29 (1274641332124872704) from "Narendra Patel (@novus_mihi)", replying to "Ciprian Manea (@ovipic)" (1274424968001073156):

You see, a program implementation generally has many conditional statements. Based on the value of the boolean value, the program follows different branch of execution. Now if the execution time is different for, say 2, branches then one can deduce the value of... 1/

2020.06.21 11:54:41 (1274641882916614144) from "Narendra Patel (@novus_mihi)", replying to "Narendra Patel (@novus_mihi)" (1274641332124872704):

... boolean value from the execution time. This is basically how timing attacks work. Only remedy to this is make programs which require same execution time irrespective of the conditional branch. Hence such a program is called constant-time program.

2020.06.21 13:42:39 (1274669056675778566) from "Ciprian Manea (@ovipic)", replying to "Narendra Patel (@novus_mihi)" (1274641882916614144):

#Thanks! But @hashbreaker mentioned constant-time (programming?) languages. Which ones are those? Yes, constant running time algorithms have the traits you @novus_mihi mentioned 🖖🏻