1. Ông A muốn có một đồng tiền điện tủ ẩn danh, thì cần phải tạo k đơn vị Ui và chuyển nó đến ngân hàng, một đơn vị Ui được tạo ra từ những dãy số ngẫu nhiên ai, ci, di; 1 ≤ I ≤ k, sao cho Ui độc lập và duy nhất.
Ui = f(xi,yi), với 1≤ I ≤ k
xi = g(ai, ci), yi = g(ai ⊕ (u ∧ (v + i)), di).
⊕: phép XOR, ∧: phép nối
2. Ông A làm mù k đơn vị Ui với những tham số “mù” ngẫu hiên {r1,…,rk}, và gửi chúng đến ngân hàng. Những tham số “mù” đó ngăn ngân hàng kiểm tra tức thì nội dung của những đồng tiền Ui.
(Làm “mù” theo giao thức RSA: Blind(x)=r*rb
mod n)
3. Ngân hàng chọn ngẫu nhiên k/2 đơn vị để kiểm tra, và yêu cầu ông A cung cấp các tham số: ri, ai,ci, di tương ứng với những đơn vị Ui mà ngân hàng đã chọn.
4. Ông A cung cấp cho ngân hàng các tham số ri, ai, ci, di theo yêu cầu. 5. Dựa vào các tham số do ông A cung cấp, ngân hàng sóa mù k/2 đơn vị đã chọn và kiểm tra để đảm bảo rằng ông A không gian lận. Nếu không có lỗi nào xảy ra, ngân hàng ký lên những đơn vị Ui còn lại(những đơn vị mà ngân hàng không xóa “mù”) và gửi cho ông A.
Baj mod n
(j là ngẫu nhiên ≤ k và chỉ dùng k/2 phần tủ Bj)
Sau đó ngân hàng trừ khoản tiền tương ứng vào tài khoản của ông A. 6. Ông A xóa “mù” đơn vị đã được ngân hàng ký bằng cách chia Bj cho rj
lúc này ông A có đồng tiền điện tử với giá trị thực sự. T = f(xj,yj)a mod n
Đồ án tốt nghiệp Mô phỏng tiền điện tử
Nguyễn Hồng Chính-Lớp CT1002-Trường ĐHDLHP Trang 51