Abric-language-kotlin (2026)
// Send random contributions to the next party parties.indices.forEach i -> val next = (i + 1) % parties.size send(randoms[i] to parties[next])
The library typically consists of several layers: abric-language-kotlin
1. What is Abricot? Abricot (not to be confused with the fruit "abricot" meaning apricot in French) is a research-oriented embedded DSL written in Kotlin. Its primary goal is to allow cryptographers and protocol designers to describe, analyze, and generate implementations of secure multiparty computation (MPC) protocols and zero-knowledge proofs (ZKPs) at a high level of abstraction. // Send random contributions to the next party parties
output(finalShares, parties)
val protocol = protocol val x = input(alice) val y = input(bob) val z = add(x, y) output(z, charlie) Its primary goal is to allow cryptographers and
The name "Abricot" often appears in academic contexts related to , secret sharing , and verifiable secret sharing (VSS). The abricot-language-kotlin repository specifically provides a Kotlin-based frontend for writing cryptographic protocols that can later be compiled or interpreted for different backends (e.g., arithmetic circuits, Boolean circuits, or actual networking code).