AI Safety through the lens of intentions A lawyer files a brief full of citations that don’t exist. A government relabels “patriotic AI” and points it at immigrants. A model behaves perfectly while it’s being watched - and only while it’s being watched. These aren’t the same problem, but they showcase various sides of AI safety risks. The thread connecting them is intention . Ok, I admit the title…
People like to talk about how simple things are. “Look at this code I wrote, simple, elegant, just a few new lines and reutilizing an existing framework and it does all the job I need” “Check out this magic bash one liner blob. I paste it, and it simply configures everything for me” “Claude Code vibed the entire backend of my app in one go, and when I run it, it simply just works” In engineering,…
Vibe-code Golang one interface at a time. During the holidays, I was working on a personal project in Go, and I wanted to use AI to help me do a few things (e.g. implement a downloader that downloads a file from Google Drive). However, I’m not a huge fan of having AI IDEs creating new directory structures or introducing abstractions that I need to read through and understand. Instead, I thought it…
A lot of times I use GenAI to quickly prototype something like an app idea or a UI/UX mock for a site. I’d like this text-to-UI experience to be as fast as possible to quickly iterate. I’ve tried classic LLMs like ChatGPT/Claude/Gemini and dedicated text-to-app builders like Lovable/Blink/Bolt/Replit. For the former the experience is still a bit crude - a lot of times I have to manually spin up…
AI should only run as fast as we can catch up. The story of Daniel and Eric Recently I have spoke with two of my friends who all had fun playing with AI. Last month, I met with Eric, a fearless PM at a medium size startup who recently got into vibe coding with Gemini. After getting familiarized with Gemini, Eric was genuinely amazed by how AI quickly turns prompt into playable web applications. It…
I brew coffee and I buy a lot of beans. I’m also a lazy person that doesn’t want to type in all the details in one of the available apps and track things to the grams. Luckily I found out that GPT-4o (free tier) is good enough to take a few photos I uploaded of a bag and parse it’s roaster, varietal, origin, tasting notes, roast date, etc. I tried with a dozen different bags and it works pretty…
In the previous post, we have seen that NTT is a special way of evaluating a polynomial (i.e. converting a polynomial from coefficient form to evaluation form) such that the evaluation points are all the $d$-th roots of unity. We then examined a few efficient ways (recursive and iterative) to implement NTT and iNTT routines. Lastly we learned that by carefully picking the right twiddle factors…
If you have known me before, you might have come across my cryptography-related blog posts either from Medium or my personal blog higashi.tech . Unfortunately,, I forgot to update my credit card info and hence didn’t renew the domain :/ And guess what? Someone else bought the domain and now I can never have my domain back. I tried negotiating a good price for it though: But looks very unlikely.…
Previously, we took a look at the problem of polynomial multiplication. Specifically, we saw that we can view polynomial multiplications as a form of convolution . To make things easier to compute, we often define a polynomial modulus, making it into a ring . The modulus defining the ring in our context is often special, making the convolution either circular or negative wrapped . At the end of…
Polynomials are everywhere. In fact, in Computer Science, they are really just fancy lists of numbers that have a particular way of doing arithmetic. For example, adding two polynomials is as simple as just summing up their coefficients. Multiplying a polynomial by a constant is just multiplying every coefficient by that constant. However, when we want to multiply polynomials, things get slightly…
Based on: PKP-IDS, Permutation based identification protocol. Idea: PKP is a problem where one is give a random matrix $A$ and a vector $v$. Then they are asked to find a permutation $\pi$ such that $A v_\pi = 0$, i.e. $v_\pi$ is the right kernel of $A$. Finding such permutation $\pi$ is an NP-hard problem. However, we could use a 5-round public-coin interactive protocol to prove knowledge of the…
In my previous post, I went over how Lattice-based crypto works, as well as what Learning With Error (LWE) Problem is. In the end, we looked at how Regev Encryption works by putting the LWE problem together with an encryption scheme. Hopefully, everyone should have a pretty solid understanding about these fundamental building blocks. Now we are finally ready to battle the archnemesis - building…
Last time, we went through the overview of what FHE is, the different stages towards FHE, and the brief history of it. I think at this point, we should be pretty comfortable with understanding what FHE is and its potential applications. We concluded the last post by alluding to this GSW FHE Scheme . It’s the 3rd Gen FHE Scheme based on the LWE Problem assumption which stems from Lattice-based…
Recently I have taken CS355 (Topics in Cryptography) at Stanford. This was a comprehensive course on advanced crypto topics. Throughout the 3-month course, the instructors covered various topics that span the history of Cryptography, starting from One-way Functions, PRFs all the way to applied cryptosystems such as MPC, Zero-Knowledge, and PIR . This was really a great course to take, and I’ve…
This is a mirror of my post at https://medium.com/@stevenyue/mesmerizing-chameleon-signatures-4cdb3c8ab1c3. For the past year, I having been taking classes at Stanford under Professor Dan Boneh and learning about different topics in the field of Cryptography. It has truly become an amazing journey. There are so many marvelous ideas in this field and a lot of them essentially reshaped the world.…