www.zama.ai Open in urlscan Pro
52.17.119.105  Public Scan

URL: https://www.zama.ai/
Submission: On January 31 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

Home
Libraries
 TFHE-rs
A pure rust implementation of the TFHE scheme for boolean and integer
arithmetics over encrypted data.
 Concrete
TFHE compiler that converts python programs into FHE equivalent.
 Concrete ML
Privacy preserving ML framework built on top of Concrete, with bindings to
traditional ML frameworks.
 fhEVM
A fully homomorphic encryption protocol to write confidential smart contracts.
Solutions
Privacy-Preserving Machine Learning
Add a layer of privacy to your machine learning workflows and unlock news
possibilities, like private inference, confidential training, and IP protection.

Confidential Smart Contracts
Enable confidential smart contracts in your blockchain, and unlock new use cases
in DeFi, gaming and more!

Developers
Blog
Documentation 
Github 
FHE resources 
Community
Bounty Program 
FHE.org discord 


Libraries
 TFHE-rs
A pure rust implementation of the TFHE scheme for boolean and integer
arithmetics over encrypted data.
 Concrete
TFHE Compiler that converts python programs into FHE equivalent.
 Concrete ML
Privacy preserving ML framework built on top of Concrete, with bindings to
traditional ML frameworks.
 fhEVM
A fully homomorphic encryption protocol to write confidential smart contracts.
Solutions
Privacy-Preserving Machine Learning
Add a layer of privacy to your machine learning workflows and unlock news
possibilities, like private inference, confidential training, and IP protection.
Confidential Smart Contracts
Enable confidential smart contracts in your blockchain, and unlock new use cases
in DeFi, gaming and more!
Developers
Blog
Documentation 
Github 
FHE resources 
Community
Bounty program 
FHE.org discord 



BUILD APPLICATIONS WITH FULLY HOMOMORPHIC
ENCRYPTION (FHE)

State-of-the-art open-source cryptography to protect privacy.

See on GithubRead the docs


Read Zama's latest news on our blog.
Read Zama's latest news on our blog.
Read Zama's latest news on our blog.
Read Zama's latest news on our blog.
Read Zama's latest news on our blog.


HOMOMORPHIC ENCRYPTION ENABLES APPLICATIONS TO RUN PRIVATELY BY PROCESSING DATA
BLINDLY.

PRODUCTS

LinkLinkLinkLink
DevelopersCOMPANY


How it Works
01


WRITE PYTHON CODE, RUN IT ON ENCRYPTED DATA

Zama's Concrete Framework enables data scientists to build models that run on
encrypted data, without learning cryptography. Just write Python code and
Concrete will convert it to an homomorphic equivalent!


import concrete.numpy as hnp

def add(x, y):
    return x + y

inputset = [(2, 3), (0, 0), (1, 6), (7, 7), (7, 1), (3, 2), (6, 1), (1, 7), (4, 5), (5, 4)]
compiler = hnp.NPFHECompiler(add, {"x": "encrypted", "y": "encrypted"})

print(f"Compiling...")
circuit = compiler.compile_on_inputset(inputset)

examples = [(3, 4), (1, 2), (7, 7), (0, 0)]
for example in examples:
    result = circuit.run(*example)
    print(f"Evaluation of {' + '.join(map(str, example))} homomorphically = {result}")
  


Copy

02


USE LOW-LEVEL FHE OPERATORS TO FINE-TUNE EXECUTION

Cryptographers looking to manipulate FHE operators directly can do so using
Concrete’s low-level library. Built in Rust using a highly modual architecture,
it makes extending Concrete safe and easy.

Copy


use concrete::*;

fn main() -> Result<(), CryptoAPIError> {

    // generate a secret key
    let secret_key = LWESecretKey::new(&LWE128_630);

    // the two values to add
    let m1 = 8.2;
    let m2 = 5.6;

    // Encode in [0, 10[ with 8 bits of precision and 1 bit of padding
    let encoder = Encoder::new(0., 10., 8, 1)?;

    // encrypt plaintexts
    let mut c1 = LWE::encode_encrypt(&secret_key, m1, &encoder)?;
    let c2 = LWE::encode_encrypt(&secret_key, m2, &encoder)?;

    // add the two ciphertexts homomorphically, and store in c1
    c1.add_with_padding_inplace(&c2)?;

    // decrypt and decode the result
    let m3 = c1.decrypt_decode(&secret_key)?;

    // print the result and compare to non-FHE addition
    println!("Real: {}, FHE: {}", m1 + m2, m3);

    Ok(())
}


01


CONCRETE ML MAKES USE CASES EASY

With Concrete ML, we are able to show some very appealing examples of how the
tool can be used with models that are already familiar to data scientists.


from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from concrete.ml.sklearn import LogisticRegression

# Create a synthetic dataset
N_EXAMPLE_TOTAL = 100
N_TEST = 20
x, y = make_classification(n_samples=N_EXAMPLE_TOTAL, class_sep=2, n_features=4, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(
    x, y, test_size=N_TEST / N_EXAMPLE_TOTAL, random_state=42)
    
# Fix the quantization to 3 bits
model = LogisticRegression(n_bits=3)

# Fit the model
model.fit(X_train, y_train)

# We run prediction on non-encrypted data as a reference
y_pred_clear = model.predict(X_test, execute_in_fhe=False)

# We compile into an FHE model
model.compile(x)

# We then run the inference in FHE
y_pred_fhe = model.predict(X_test, execute_in_fhe=True)
print("In clear  :", y_pred_clear)
print("In FHE    :", y_pred_fhe)
print("Comparison:", (y_pred_fhe == y_pred_clear))
  


Copy

03


WRITE PYTHON CODE, RUN IT ON ENCRYPTED DATA

Data scientists looking to run their models on encrypted data can now do so
without learning cryptography. Just build your model using Numpy. Concrete will
convert it to an optimized FHE executable!

<script>


var tricksWord = document.getElementsByClassName("tricks");
for (var i = 0; i < tricksWord.length; i++) {

var wordWrap = tricksWord.item(i);
wordWrap.innerHTML = wordWrap.innerHTML.replace(/(^|<\/?[^>]+>|\s)([^\s<]+)/g, 
'$1$2');

}

var tricksLetter = document.getElementsByClassName("tricksword");
for (var i = 0; i < tricksLetter.length; i++) {

   var letterWrap = tricksLetter.item(i);
   letterWrap.innerHTML = letterWrap.textContent.replace(/\S/g, "$&");

}
  
</script>

Copy



FHE BRINGS PRIVACY TO WEB2 AND WEB3 APPLICATIONS


FACIAL RECOGNITION

Facial recognition is now a part of our everyday experience. This however
requires someone to have your biometric facial recognition, which in the wrong
hands can be used to impersonate you. With FHE, you can authenticate yourself
securely, without anybody being able to steal your biometric data.

→ Learn more


VOICE ASSISTANTS

When your family speaks to a voice assistant, they send personal information to
the companies behind them. With FHE, you could send voice queries to AI
assistants, who would have no way of knowing what you just asked. It wouldn’t
matter that you have a microphone in your house, nobody would be able to listen
to what you say!

→ Learn more


SMART CONTRACTS

By design, blockchains are public, meaning all the user data flowing into web3
applications are visible to the entire world. With FHE, we can enable private
smart contracts, where the inputs and outputs are encrypted end to end, meaning
you can safely build decentralized applications that use sensitive personal
data.

→ Learn more


PREVENTIVE MEDICINE

Imagine knowing in advance what you need to do to stay healthy throughout your
life. AI makes it possible, but requires sharing all your health data With FHE,
you could send all this data while keeping it encrypted, and the AI would
respond with encrypted health recommendations that you alone have the ability to
see.

→ Learn more



1
2
3
4

LIBRARIES AND SOLUTIONS

TFHE-rs  Concrete  Concrete ML FHEVM Privacy-preserving mlConfidential smart
contracts

DEVELOPERS

BlogDOCUMENTATION GITHUB  FHE resources CommunityBounty Program FHE.org
discord 

COMPANY

Aboutintroduction to fheEventsMediaCareers Newsletter Legal

    
Privacy is necessary for an open society in the electronic age. Privacy is not
secrecy. A private matter is something one doesn't want the whole world to know,
but a secret matter is something one doesn't want anybody to know. Privacy is
the power to selectively reveal oneself to the world.If two parties have some
sort of dealings, then each has a memory of their interaction. Each party can
speak about their own memory of this; how could anyone prevent it? One could
pass laws against it, but the freedom of speech, even more than privacy, is
fundamental to an open society; we seek not to restrict any speech at all. If
many parties speak together in the same forum, each can speak to all the others
and aggregate together knowledge about individuals and other parties. The power
of electronic communications has enabled such group speech, and it will not go
away merely because we might want it to.Since we desire privacy, we must ensure
that each party to a transaction have knowledge only of that which is directly
necessary for that transaction. Since any information can be spoken of, we must
ensure that we reveal as little as possible. In most cases personal identity is
not salient. When I purchase a magazine at a store and hand cash to the clerk,
there is no need to know who I am. When I ask my electronic mail provider to
send and receive messages, my provider need not know to whom I am speaking or
what I am saying or what others are saying to me; my provider only need know how
to get the message there and how much I owe them in fees. When my identity is
revealed by the underlying mechanism of the transaction, I have no privacy. I
cannot here selectively reveal myself; I must always reveal myself.Therefore,
privacy in an open society requires anonymous transaction systems. Until now,
cash has been the primary such system. An anonymous transaction system is not a
secret transaction system. An anonymous system empowers individuals to reveal
their identity when desired and only when desired; this is the essence of
privacy.Privacy in an open society also requires cryptography. If I say
something, I want it heard only by those for whom I intend it. If the content of
my speech is available to the world, I have no privacy. To encrypt is to
indicate the desire for privacy, and to encrypt with weak cryptography is to
indicate not too much desire for privacy. Furthermore, to reveal one's identity
with assurance when the default is anonymity requires the cryptographic
signature.We cannot expect governments, corporations, or other large, faceless
organizations to grant us privacy out of their beneficence. It is to their
advantage to speak of us, and we should expect that they will speak. To try to
prevent their speech is to fight against the realities of information.
Information does not just want to be free, it longs to be free. Information
expands to fill the available storage space. Information is Rumor's younger,
stronger cousin; Information is fleeter of foot, has more eyes, knows more, and
understands less than Rumor.We must defend our own privacy if we expect to have
any. We must come together and create systems which allow anonymous transactions
to take place. People have been defending their own privacy for centuries with
whispers, darkness, envelopes, closed doors, secret handshakes, and couriers.
The technologies of the past did not allow for strong privacy, but electronic
technologies do.We the Cypherpunks are dedicated to building anonymous systems.
We are defending our privacy with cryptography, with anonymous mail forwarding
systems, with digital signatures, and with electronic money.Cypherpunks write
code. We know that someone has to write software to defend privacy, and since we
can't get privacy unless we all do, we're going to write it. We publish our code
so that our fellow Cypherpunks may practice and play with it. Our code is free
for all to use, worldwide. We don't much care if you don't approve of the
software we write. We know that software can't be destroyed and that a widely
dispersed system can't be shut down.Cypherpunks deplore regulations on
cryptography, for encryption is fundamentally a private act. The act of
encryption, in fact, removes information from the public realm. Even laws
against cryptography reach only so far as a nation's border and the arm of its
violence. Cryptography will ineluctably spread over the whole globe, and with it
the anonymous transactions systems that it makes possible.For privacy to be
widespread it must be part of a social contract. People must come and together
deploy these systems for the common good. Privacy only extends so far as the
cooperation of one's fellows in society. We the Cypherpunks seek your questions
and your concerns and hope we may engage you so that we do not deceive
ourselves. We will not, however, be moved out of our course because some may
disagree with our goals.The Cypherpunks are actively engaged in making the
networks safer for privacy. Let us proceed together apace.Onward. By Eric
Hughes. 9 March 1993.