-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
265 lines (207 loc) · 17.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>FFII.Github.io by ffii</title>
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/github-dark.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="javascripts/main.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
</head>
<body>
<header>
<h1>FFII.Github.io</h1>
<p>FFII Developer Site</p>
</header>
<div id="banner">
<span id="logo"></span>
<a href="https://github.com/ffii" class="button fork"><strong>View On GitHub</strong></a>
</div><!-- end banner -->
<div class="wrapper">
<nav>
<ul></ul>
</nav>
<section>
<h1>
<a id="ffii-software-projects" class="anchor" href="#ffii-software-projects" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>FFII Software Projects</h1>
<ul>
<li><a href="http://groff.ffii.org">Groff Typesetting</a></li>
<li><a href="http://parltrack.euwiki.org">Parliament Data Information System</a></li>
<li><a href="http://lists.ffii.org/mailman/listinfo/cjk">CJK Internationalisation of Text Processing</a></li>
<li><a href="https://tasks.ffii.org/projects/cryptostick">Crypto-Stick for Encrypted Key Communication</a></li>
<li><a href="https://lists.ffii.org/mailman/listinfo/tio">TIO Open Cloud Infrastructure</a></li>
<li><a href="http://gauss.ffii.org">GAUSS Patent Information System (scheduled maintenance until March 5, 2015)</a></li>
<li><a href="https://lists.ffii.org/mailman/listinfo/mlhtapp-help">Multilingual Hypertext</a></li>
</ul>
<h1>
<a id="ideas" class="anchor" href="#ideas" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Ideas</h1>
<p>Below are projects, where we are looking for contributions of students. There are some ideas for developments, but we love to get your own ideas as well. If you have a project that is in line with our mission of free information infrastructures, please feel free to propose one. You can make a pull request and add your idea to this list at <a href="https://github.com/ffii/ffii.github.io">https://github.com/ffii/ffii.github.io</a></p>
<h2>
<a id="groff-gnu-troff-typesetting" class="anchor" href="#groff-gnu-troff-typesetting" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Groff (GNU troff) Typesetting</h2>
<p>Groff is a typesetting system that reads plain text mixed with formatting commands and produces formatted output. Output may be PostScript or PDF, html, or ASCII/UTF8 for display at the terminal. Formatting commands may be either low-level typesetting requests (“primitives”) or macros from a supplied set. Users may also write their own macros. All three may be combined. Present on most Unix systems owing to its long association with Unix manuals (manpages), groff is capable of producing typographically sophisticated documents while consuming only minimal system resources. </p>
<ul>
<li>License: GNU General Public License.</li>
<li>Mentors: User issues lead: Ted Harding, Technical issues lead: Werner Lemberg</li>
<li>Code: <a href="https://savannah.gnu.org/git/?group=groff">https://savannah.gnu.org/git/?group=groff</a>
</li>
<li>Website: <a href="http://groff.ffii.org">http://groff.ffii.org</a>
</li>
<li>Mailing List: <a href="http://lists.gnu.org/mailman/listinfo/groff/">http://lists.gnu.org/mailman/listinfo/groff/</a>
</li>
<li>Issue Tracker: <a href="https://savannah.gnu.org/projects/groff/">https://savannah.gnu.org/projects/groff/</a>
</li>
</ul>
<h3>
<a id="project-1" class="anchor" href="#project-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 1</h3>
<p>Task: Let document define kern pairs, including between characters in different fonts<br>
Details: Groff should allow a document author to define new kern pairs, including ones between characters from different fonts. This functionality is available in Heirloom troff's .kernpair request. </p>
<h3>
<a id="project-2" class="anchor" href="#project-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 2</h3>
<p>Task: Provide a way to redefine an existing symbol in a specific font<br>
Details: When searching for a symbol, groff first checks whether the symbol has been defined with the .char request. If not, it checks the current font. Only if it is not in the current font does groff check other user-defined symbols. Thus, while .char can override an existing symbol across all fonts, there is no way to override an existing symbol only in a specific font, because all other symbol rules are of lower precedence than checking the current font. The mailing list thread beginning with <a href="http://lists.gnu.org/archive/html/groff/2015-02/msg00029.html">http://lists.gnu.org/archive/html/groff/2015-02/msg00029.html</a> contains examples of situations where this lack of functionality makes performing certain tasks ponderous. </p>
<h3>
<a id="project-3" class="anchor" href="#project-3" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 3</h3>
<p>Task: Improve Unicode support </p>
<h3>
<a id="project-4" class="anchor" href="#project-4" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 4</h3>
<p>Task: Implement shrinkable space<br>
Details: Perhaps the third entry in the list of the most important improvements to GNU troff: shrinkable space. I guess that this has to be implemented while adding support for TeX-like paragraph formatting </p>
<h3>
<a id="project-5" class="anchor" href="#project-5" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 5</h3>
<p>Task: Modernize Font Support<br>
Details: Update to today's font world. What groff currently supports natively (PostScript Type 1) is out of date since 15 years. Heirloom troff has support for this. <a href="http://heirloom.sourceforge.net/doctools.html">http://heirloom.sourceforge.net/doctools.html</a> </p>
<h2>
<a id="parliament-data-information-systems" class="anchor" href="#parliament-data-information-systems" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Parliament Data Information Systems</h2>
<p>Parltrack is a European initiative to improve the transparency of legislative processes. It combines information on dossiers, representatives, vote results and committee agendas into a unique database and allows the tracking of dossiers using email and RSS. Most of the data presented is also available for further processing in JSON format. Using Parltrack it's easy to see at a glance which dossiers are being handled by committees and MEPs.</p>
<ul>
<li>License: Affero GPL v3+</li>
<li>Mentors: Andre Rebentisch</li>
<li>Code: <a href="https://github.com/pudo/parltrack/">https://github.com/pudo/parltrack/</a>
</li>
<li>Website: <a href="http://parltrack.euwiki.org">http://parltrack.euwiki.org</a>
</li>
<li>Mailing List: <a href="https://lists.ffii.org/mailman/listinfo/mepdb-parl">https://lists.ffii.org/mailman/listinfo/mepdb-parl</a>
</li>
</ul>
<h3>
<a id="project-1-1" class="anchor" href="#project-1-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 1</h3>
<p>Task: Implement Open Data Visualizations of Parliament Decisions<br>
Technologies: JSON, HTML, Shell Script, Linux, API, Maps, Google Map, OpenStreetMap</p>
<h3>
<a id="project-2-1" class="anchor" href="#project-2-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 2</h3>
<p>Task: Automate regular Data Dumps in an Exchangeable Format<br>
Technologies: JSON, Shell Script, Python, Django, Database, NoSQL, SQL</p>
<h2>
<a id="cjk-internationalisation-of-text-processing" class="anchor" href="#cjk-internationalisation-of-text-processing" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>CJK Internationalisation of Text Processing</h2>
<p>CJK stands for "Chinese, Japanese, Korean". The goal of the FFII project for Internationalisation of Text Processing is to embed Asian text into texts document using the Latin alphabet. There is also CJK version version available as a LaTeX 2e macro package release which enables the use of CJK scripts (Chinese/Japanese/Korean) in various encodings, written by Werner Lemberg. With Mule (multilingual Emacs) you can write texts in multiple languages. This editor is especially designed to handle the various encodings and character sets of Asian scripts such as Big 5 and GB for Chinese, JIS for Japanese, etc. Even more, you can use multiple CJK character sets simultaneously which enables e.g. Chinese users to write simplified (jiˇantˇız<code>ı 简体字) and traditional Chinese characters (f ́antˇız</code>ı 繁體字) at the same time. An article about the CJK package can be found in <a href="http://tug.org/TUGboat/Articles/tb18-3/cjkintro600.pdf">TUGBoat</a>.</p>
<ul>
<li>License: GNU General Public License.</li>
<li>Mentor: Hartmut Pilch</li>
<li>Code: <a href="http://cjk.ffii.org/cjk-4.8.3.tar.gz">http://cjk.ffii.org/cjk-4.8.3.tar.gz</a>
</li>
<li>Website: <a href="http://cjk.ffii.org">http://cjk.ffii.org</a>
</li>
<li>Mailing List: <a href="http://lists.ffii.org/mailman/listinfo/cjk">http://lists.ffii.org/mailman/listinfo/cjk</a>
</li>
</ul>
<h3>
<a id="project-1-2" class="anchor" href="#project-1-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 1</h3>
<p>Task: Implement new commands for typical use. See the example file `CJKfntef.tex'<br>
Technologies: Command Line, Internationalization, UTF8 Standardization, Linux, Latex</p>
<h3>
<a id="project-2-2" class="anchor" href="#project-2-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 2</h3>
<p>Task: Implement support of Emacs version above 23<br>
Technologies: Command Line, Internationalization, UTF8 Standardization, Linux, Latex</p>
<h3>
<a id="project-3-1" class="anchor" href="#project-3-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 3</h3>
<p>Task: Implement support for Khmer and Vietnamese for UTF-8 encoding, making emacs<br>
Technologies: Command Line, Internationalization, UTF8 Standardization, Linux, Latex</p>
<h2>
<a id="crypto-stick-for-encrypted-key-communication" class="anchor" href="#crypto-stick-for-encrypted-key-communication" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Crypto-Stick for Encrypted Key Communication</h2>
<p>The Crypto Stick is a USB stick in a small form factor containing an integrated OpenPGP smart card to allow easy and high-secure encryption e.g. of e-mail or for authentication in network environments. As opposed to ordinary software solutions, private keys are always inside the Crypto Stick so that their exposure is impossible. All cryptographic operations (precisely: decryption and signature because of public key cryptography) are executed on the PIN-protected Crypto Stick. In case the Crypto Stick was stolen, got lost, or is used on a virus-contaminated computer (e.g. Trojan horse) no attacker is able to access the private keys so that all encrypted data stays secure. The Crypto Stick is developed as a non-profit open source project and ensures a very high level of security due to verifiability and an attractive price. The open interface of the used OpenPGP smart card allows optimal compatibility with various software applications (e.g. GnuPG, Mozilla Thunderbird + Enigmail, OpenSSH, Linux PAM, OpenVPN, Mozilla Firefox).</p>
<ul>
<li>License: Different Open Source Licenses</li>
<li>Mentor: Jan Suhr</li>
<li>Project Site: <a href="https://tasks.ffii.org/projects/cryptostick">https://tasks.ffii.org/projects/cryptostick</a>
</li>
<li>Code: <a href="https://www.assembla.com/spaces/cryptostick">https://www.assembla.com/spaces/cryptostick</a>
</li>
<li>Mailing List: <a href="https://lists.ffii.org/mailman/listinfo/crypto">https://lists.ffii.org/mailman/listinfo/crypto</a>
</li>
</ul>
<h3>
<a id="project-1-3" class="anchor" href="#project-1-3" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 1</h3>
<p>Task: One Time Password Optimization<br>
Details: The current One Time Password (OTP) implementation doesn't encrypt the secrets in the Crypto Stick. (Earlier it was planned to trigger the OTP with a dedicated button only). Now the firmware should be improved so that the secrets are encrypted with the embedded smart card. In addition, mechanisms to prevent the creation of large amounts of tokens should be prevented.The challenge-responds version of OTP called OCRA should be implemented.<br>
To do:</p>
<ul>
<li>Integrate the smart card to encrypt and decrypt the OTP secrets </li>
<li>Add throttling mechanisms</li>
<li>Add OCRA feature to OTP</li>
<li>Update the client tool to support OCRA, potentially create a FireFox addon for this purpose</li>
<li>Test</li>
</ul>
<h3>
<a id="project-2-3" class="anchor" href="#project-2-3" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 2</h3>
<p>Task: Support for Google's U2F (FIDO Alliance) - Implement support for the FIDO Alliance's U2F token<br>
Details:</p>
<ul>
<li>Get familiar with the U2F specification </li>
<li>Draft an approach to integrate U2F to the Crypto Stick </li>
<li>Implement U2F to the firmware </li>
<li>Implement U2F support into the Crypto Stick Tool </li>
<li>Test </li>
</ul>
<h3>
<a id="project-3-2" class="anchor" href="#project-3-2" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 3</h3>
<p>Task: L4-Based Secure eCash Server<br>
Details: OpenCoin is a related open source project to build an anonymous digital cash system. L4 is a microkernel for secure embedded environments. This project is to implement a secure server for OpenCoin based on L4re. The server would perform the following activities: receive a token, verify its integrity, create a new token, sign it by calling a HSM, store the old token in an external DB, send back the new token.<br>
To do:
G* et familiar with the OpenCoin protocol and L4re. </p>
<ul>
<li>Agree the architecture with mentor </li>
<li>Implement the external interfaces </li>
<li>Implement JSON parsing and token structures etc. </li>
<li>Implement SHA2 hashing and RSA signature validation, preferrable by utilizing existing libraries.</li>
<li>Port and integrate existing PKCS#11 driver to L4re </li>
<li>Documentation, testing</li>
</ul>
<h3>
<a id="project-4-1" class="anchor" href="#project-4-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 4</h3>
<p>Task: OpenPGP JavaCard<br>
Details: Re-implement the OpenPGP Card specification on a JavaCard device. A project space has already been setup here but this implementation seems to be more mature. </p>
<h3>
<a id="project-5-1" class="anchor" href="#project-5-1" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Project 5</h3>
<p>Task: Secure firmware update<br>
Details: The purpose is to prevent (or make it more difficult) flashing of malicious firmware when an attacker has access to the device for a short time. Legitimate firmwares would be signed with a firmware signing key. Crypto Stick would be shipped with the public signing key. User downloads a signed firmware update for their device, and loads it onto the Crypto Stick. Crypto Stick verifies the signature, ensuring that the firmware is authentic. If it is, the firmware updates itself, otherwise it rejects it. The entire logic might be implemented in a separate boot loader either for the current STM32-based Crypto Stick 1.4 or for the new Crypto Stick 2 which is Atmel AT43UC-based.<br>
To do:</p>
<ul>
<li>Get familiar with Crypto Stick's firmware.</li>
<li>Decide for a bootloader to use</li>
<li>Get the bootloader running</li>
<li>Integrate hash- and RSA signature verification functions</li>
<li>Implement load-firmware function</li>
<li>If necessary: write client tool to send new firmware to Crypto Stick</li>
<li>Test </li>
</ul>
<h1>
<a id="about-ffii" class="anchor" href="#about-ffii" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>About FFII</h1>
<p>The FFII, Foundation for Free Information Infrastructures, is a not-for-profit association active in over fifty countries, dedicated to the development of information goods for the public benefit, based on copyright, free competition, and open standards. More than 1000 members, 3,500 companies and 100,000 supporters have entrusted the FFII to act as their voice in public policy questions concerning exclusion rights in data processing. </p>
<ul>
<li><a href="http://ffii.org">http://ffii.org</a></li>
<li><a href="http://blog.ffii.org">http://blog.ffii.org</a></li>
<li><a href="http://tasks.ffii.org">http://tasks.ffii.org</a></li>
</ul>
</section>
<footer>
<p><small>Hosted on GitHub Pages — Theme by <a href="https://twitter.com/michigangraham">mattgraham</a></small></p>
</footer>
</div>
<!--[if !IE]><script>fixScale(document);</script><![endif]-->
</body>
</html>