]> Git — Sourcephile - majurity.git/blob - hjugement-protocol/hjugement-protocol.cabal
protocol: add Trustee.Indispensable
[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.20190513
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.Tally
71 Voting.Protocol.Trustee
72 Voting.Protocol.Trustee.Indispensable
73 Voting.Protocol.Utils
74 default-language: Haskell2010
75 default-extensions:
76 AllowAmbiguousTypes
77 ConstraintKinds
78 DefaultSignatures
79 FlexibleContexts
80 FlexibleInstances
81 GeneralizedNewtypeDeriving
82 LambdaCase
83 MonoLocalBinds
84 MultiParamTypeClasses
85 NamedFieldPuns
86 NoImplicitPrelude
87 NoMonomorphismRestriction
88 RecordWildCards
89 ScopedTypeVariables
90 TupleSections
91 TypeApplications
92 TypeFamilies
93 TypeOperators
94 UndecidableInstances
95 ghc-options:
96 -Wall
97 -Wincomplete-uni-patterns
98 -Wincomplete-record-updates
99 -fno-warn-tabs
100 -- -fhide-source-paths
101 build-depends:
102 base >= 4.6 && < 5
103 , bytestring >= 0.10
104 , containers >= 0.5
105 , cryptonite >= 0.25
106 -- , fixed-vector >= 1.1
107 -- , hashable >= 1.2.6
108 , memory >= 0.14
109 -- , mmorph >= 1.1
110 -- , monad-classes >= 0.3
111 , deepseq >= 1.4
112 , random >= 1.1
113 -- , reflection >= 2.1
114 , text >= 1.2
115 , transformers >= 0.5
116 , unordered-containers >= 0.2.8
117
118 Test-Suite hjugement-protocol-test
119 type: exitcode-stdio-1.0
120 hs-source-dirs: tests
121 main-is: Main.hs
122 other-modules:
123 HUnit
124 HUnit.Arithmetic
125 HUnit.Credential
126 HUnit.Election
127 HUnit.Trustee
128 HUnit.Trustee.Indispensable
129 QuickCheck
130 QuickCheck.Election
131 QuickCheck.Trustee
132 Utils
133 default-language: Haskell2010
134 default-extensions:
135 AllowAmbiguousTypes
136 ConstraintKinds
137 DefaultSignatures
138 FlexibleContexts
139 FlexibleInstances
140 GeneralizedNewtypeDeriving
141 LambdaCase
142 MonoLocalBinds
143 MultiParamTypeClasses
144 NamedFieldPuns
145 NoImplicitPrelude
146 NoMonomorphismRestriction
147 RecordWildCards
148 ScopedTypeVariables
149 TupleSections
150 TypeApplications
151 TypeFamilies
152 TypeOperators
153 UndecidableInstances
154 ghc-options:
155 -Wall
156 -Wincomplete-uni-patterns
157 -Wincomplete-record-updates
158 -fno-warn-tabs
159 -- -fhide-source-paths
160 build-depends:
161 hjugement-protocol
162 , base >= 4.6 && < 5
163 , containers >= 0.5
164 -- , hashable >= 1.2.6
165 , QuickCheck >= 2.11
166 -- , monad-classes >= 0.3
167 , random >= 1.1
168 -- , reflection >= 2.1
169 , tasty >= 0.11
170 , tasty-hunit >= 0.9
171 , tasty-quickcheck
172 , text >= 1.2
173 , transformers >= 0.5
174 -- , unordered-containers >= 0.2.8
175
176 Benchmark hjugement-protocol-benchmark
177 type: exitcode-stdio-1.0
178 hs-source-dirs: benchmarks
179 main-is: Main.hs
180 default-language: Haskell2010
181 other-modules:
182 Election
183 Utils
184 default-extensions:
185 AllowAmbiguousTypes
186 ConstraintKinds
187 DefaultSignatures
188 FlexibleContexts
189 FlexibleInstances
190 GeneralizedNewtypeDeriving
191 LambdaCase
192 MonoLocalBinds
193 MultiParamTypeClasses
194 NamedFieldPuns
195 NoImplicitPrelude
196 NoMonomorphismRestriction
197 RecordWildCards
198 ScopedTypeVariables
199 TupleSections
200 TypeApplications
201 TypeFamilies
202 TypeOperators
203 UndecidableInstances
204 ghc-options:
205 -Wall
206 -Wincomplete-uni-patterns
207 -Wincomplete-record-updates
208 -fno-warn-tabs
209 build-depends:
210 base >= 4.6 && < 5
211 , hjugement-protocol
212 , containers >= 0.5
213 , criterion >= 1.4
214 , QuickCheck >= 2.11
215 , random >= 1.1
216 , text >= 1.2
217 , transformers >= 0.5