Board.KolibriOS.org
http://board.kolibrios.org/

SSH client
http://board.kolibrios.org/viewtopic.php?f=40&t=3276
Page 1 of 1

Author:  hidnplayr [ Sat May 07, 2016 1:55 pm ]
Post subject:  SSH client

Here you can find an overview of the development of a native SSH client for KolibriOS.

TODO to get a usable SSH client:
    * Improve modular exponentiation, current implementation is slow and does not always work
    * Finish and test SSH transport routines (with MAC and encryption)
    * Diffie-Hellman key exchange
    * Implement user authentication
    * Properly implement channels
    * Finish implementing Shell
    * ...

Attachment:
VirtualBox_KolibriOS_10_08_2016_15_26_53.png
VirtualBox_KolibriOS_10_08_2016_15_26_53.png [ 37.83 KiB | Viewed 2596 times ]


Spoiler: Show
Attachment:
Diffie-hellman_Exchange.png
Diffie-hellman_Exchange.png [ 96.23 KiB | Viewed 3174 times ]

Author:  ashmew2 [ Sat May 07, 2016 4:20 pm ]
Post subject:  Re: SSH client

Well Done!

I hope, We will get SSH soon :)

Author:  Pathoswithin [ Sun May 08, 2016 1:36 am ]
Post subject:  Re: SSH client

Quote:
Math enthusiasts may certainly improve current modular exponentiation routines.
Which routines? Can you test performance, to make sure it will not become worse?

Author:  DenisKarpenko [ Sun May 08, 2016 3:23 pm ]
Post subject:  Re: SSH client

Good news!! :)
Also good news for development of TLS library :wink:

Author:  hidnplayr [ Sun May 08, 2016 10:37 pm ]
Post subject:  Re: SSH client

Quote:
Which routines? Can you test performance, to make sure it will not become worse?

I'm talking about the multi precision math routines in mpint.inc

It comes with a demo/test program (modexp.asm) which may easily be enhanced to measure time a certain calculation takes.

One of the things is; now almost every math routine is hard-coded to work on 'MAX_BITS' bits, while the true length of a number will be less in reality. This now requires extra zeros, extra calculations and more space, but easier routines.

Author:  Pathoswithin [ Mon May 09, 2016 1:58 am ]
Post subject:  Re: SSH client

So, the main routine is mpint_modexp? And why do you think these routines can be much improved? Do we even need more performance?

Author:  ashmew2 [ Mon May 09, 2016 5:23 am ]
Post subject:  Re: SSH client

Pathoswithin wrote:
So, the main routine is mpint_modexp? And why do you think these routines can be much improved? Do we even need more performance?


We _always_ need more performance. It is especially useful in libraries because a lot of userspace programs might use it in the future and the library shouldnt be a bottleneck.

Author:  Pathoswithin [ Mon May 09, 2016 9:21 pm ]
Post subject:  Re: SSH client

If I understand correctly, these routines will be used for key encryption, not the data itself? In that case, their part will be miserable.
Maybe I can improve mpint_mul routine, but test shows clearly, that the bottleneck is mpint_mod, and I doubt something can be done with it.

Attachments:
modexp.asm [2.88 KiB]
Downloaded 109 times

Author:  hidnplayr [ Tue May 10, 2016 7:40 am ]
Post subject:  Re: SSH client

The modular exponentiation is required during key exchange, this is at connection time, but also later while re-keying after x bytes of data or x hours have passed.

I hear that the use of Karatsuba multiplication algorithm and or Montgomery reduction algorithm may be useful.

Author:  Wildwest [ Wed May 11, 2016 5:12 pm ]
Post subject:  Re: SSH client

Not found topic about TLS, so put this link http://www.gnutls.org/ here (http://permalink.gmane.org/gmane.networ ... neral/4127 http://www.opennet.ru/opennews/art.shtml?num=44393)

Page 1 of 1 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/