]> Git — Sourcephile - majurity.git/blob - hjugement-protocol/hjugement-protocol.cabal
protocol: add preliminary support for trustees
[majurity.git] / hjugement-protocol / hjugement-protocol.cabal
1 name: hjugement-protocol
2 -- PVP: +-+------- breaking API changes
3 -- | | +----- non-breaking API additions
4 -- | | | +--- code changes with no API change
5 version: 0.0.0.20190511
6 category: Politic
7 synopsis: A cryptographic protocol for the Majority Judgment.
8 description:
9 This work-in-progress library aims at implementing an online voting protocol
10 named <https://eprint.iacr.org/2013/177.pdf Helios-C> (Helios with Credentials)
11 by its authors from the <https://www.cnrs.fr/ CNRS>,
12 the <http://www.loria.fr INRIA>
13 and the <https://www.univ-lorraine.fr/ Université de Lorraine>:
14 <http://www.loria.fr/~cortier/ Véronique Cortier>,
15 <https://dgalindo.es/ David Galindo>,
16 <http://www.loria.fr/~gaudry/ Pierrick Gaudry>,
17 <http://stephane.glondu.net/ Stéphane Glondu>
18 and Malika Izabachène.
19 .
20 (TODO) Actually, this protocol is adapted a little bit here to better support
21 a better method of voting known as the <http://libgen.io/book/index.php?md5=BF67AA4298C1CE7633187546AA53E01D Majority Judgment>.
22 .
23 * A large-public introduction (in french) to Helios-C is available here:
24 <https://members.loria.fr/VCortier/files/Papers/Bulletin1024-2016.pdf Bulletin de la société informatique de France – numéro 9, novembre 2016>.
25 * A more scientific (yet understandable) introduction (in english) to Belenios
26 (an implementation of Helios-C) is available here:
27 <https://hal.inria.fr/hal-02066930/document Belenios: a simple private and verifiable electronic voting system>.
28 .
29 The main properties of this protocol are:
30 .
31 * /fully correct/: the published result are proven to correspond
32 to the (sum of) intended votes of the voters,
33 while accounting for a malicious bulletin board (BB) (adding fake ballots)
34 by requiring a registration authority (RA)
35 (responsible for generating and sending voters' credentials).
36 Assuming that the BB and the RA are not simultaneously dishonest.
37 .
38 * /verifiable/: each voter is able to check that:
39 his\/her ballot did contribute to the outcome (/individual verifiability/),
40 and that the tallying authorities did their job properly (/universal verifiability/).
41 .
42 * /private/: the identities of the voters who cast a vote are not publicly revealed.
43 extra-doc-files: README.md
44 license: GPL-3
45 license-file: COPYING
46 stability: experimental
47 author: Julien Moutinho <julm+hjugement@autogeree.net>
48 maintainer: Julien Moutinho <julm+hjugement@autogeree.net>
49 bug-reports: Julien Moutinho <julm+hjugement@autogeree.net>
50 -- homepage:
51
52 build-type: Simple
53 cabal-version: 1.24
54 tested-with: GHC==8.4.4
55 extra-source-files:
56 stack.yaml
57 extra-tmp-files:
58
59 Source-Repository head
60 location: git://git.autogeree.net/hjugement
61 type: git
62
63 Library
64 hs-source-dirs: src
65 exposed-modules:
66 Voting.Protocol
67 Voting.Protocol.Arithmetic
68 Voting.Protocol.Credential
69 Voting.Protocol.Election
70 Voting.Protocol.Trustees
71 Voting.Protocol.Trustees.All
72 Voting.Protocol.Utils
73 default-language: Haskell2010
74 default-extensions:
75 AllowAmbiguousTypes
76 ConstraintKinds
77 DefaultSignatures
78 FlexibleContexts
79 FlexibleInstances
80 GeneralizedNewtypeDeriving
81 LambdaCase
82 MonoLocalBinds
83 MultiParamTypeClasses
84 NamedFieldPuns
85 NoImplicitPrelude
86 NoMonomorphismRestriction
87 RecordWildCards
88 ScopedTypeVariables
89 TupleSections
90 TypeApplications
91 TypeFamilies
92 TypeOperators
93 UndecidableInstances
94 ghc-options:
95 -Wall
96 -Wincomplete-uni-patterns
97 -Wincomplete-record-updates
98 -fno-warn-tabs
99 -- -fhide-source-paths
100 build-depends:
101 base >= 4.6 && < 5
102 , bytestring >= 0.10
103 , containers >= 0.5
104 , cryptonite >= 0.25
105 -- , fixed-vector >= 1.1
106 -- , hashable >= 1.2.6
107 , memory >= 0.14
108 -- , mmorph >= 1.1
109 -- , monad-classes >= 0.3
110 , deepseq >= 1.4
111 , random >= 1.1
112 -- , reflection >= 2.1
113 , text >= 1.2
114 , transformers >= 0.5
115 , unordered-containers >= 0.2.8
116
117 Test-Suite hjugement-protocol-test
118 type: exitcode-stdio-1.0
119 hs-source-dirs: tests
120 main-is: Main.hs
121 other-modules:
122 HUnit
123 HUnit.Arithmetic
124 HUnit.Credential
125 HUnit.Election
126 QuickCheck
127 QuickCheck.Election
128 QuickCheck.Trustee
129 Utils
130 default-language: Haskell2010
131 default-extensions:
132 AllowAmbiguousTypes
133 ConstraintKinds
134 DefaultSignatures
135 FlexibleContexts
136 FlexibleInstances
137 GeneralizedNewtypeDeriving
138 LambdaCase
139 MonoLocalBinds
140 MultiParamTypeClasses
141 NamedFieldPuns
142 NoImplicitPrelude
143 NoMonomorphismRestriction
144 RecordWildCards
145 ScopedTypeVariables
146 TupleSections
147 TypeApplications
148 TypeFamilies
149 TypeOperators
150 UndecidableInstances
151 ghc-options:
152 -Wall
153 -Wincomplete-uni-patterns
154 -Wincomplete-record-updates
155 -fno-warn-tabs
156 -- -fhide-source-paths
157 build-depends:
158 hjugement-protocol
159 , base >= 4.6 && < 5
160 , containers >= 0.5
161 -- , hashable >= 1.2.6
162 , QuickCheck >= 2.11
163 -- , monad-classes >= 0.3
164 , random >= 1.1
165 -- , reflection >= 2.1
166 , tasty >= 0.11
167 , tasty-hunit >= 0.9
168 , tasty-quickcheck
169 , text >= 1.2
170 , transformers >= 0.5
171 -- , unordered-containers >= 0.2.8
172
173 Benchmark hjugement-protocol-benchmark
174 type: exitcode-stdio-1.0
175 hs-source-dirs: benchmarks
176 main-is: Main.hs
177 default-language: Haskell2010
178 other-modules:
179 Election
180 Utils
181 default-extensions:
182 AllowAmbiguousTypes
183 ConstraintKinds
184 DefaultSignatures
185 FlexibleContexts
186 FlexibleInstances
187 GeneralizedNewtypeDeriving
188 LambdaCase
189 MonoLocalBinds
190 MultiParamTypeClasses
191 NamedFieldPuns
192 NoImplicitPrelude
193 NoMonomorphismRestriction
194 RecordWildCards
195 ScopedTypeVariables
196 TupleSections
197 TypeApplications
198 TypeFamilies
199 TypeOperators
200 UndecidableInstances
201 ghc-options:
202 -Wall
203 -Wincomplete-uni-patterns
204 -Wincomplete-record-updates
205 -fno-warn-tabs
206 build-depends:
207 base >= 4.6 && < 5
208 , hjugement-protocol
209 , containers >= 0.5
210 , criterion >= 1.4
211 , QuickCheck >= 2.11
212 , random >= 1.1
213 , text >= 1.2
214 , transformers >= 0.5