[R] GMP help - converting rosetta RSA-code to R
Jeff Newmiller
jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sat Aug 17 18:47:00 CEST 2019
Please post in plain text. You assume significant risk that we will
receive a corrupt version of your code if you fail to do this.
As far as I can see, the gmp package does not currently support a raw
interface to create bigz values. Here is my workaround:
####
plaintext <- "Rossetta Code"
stringtoasciihex <- function( s ) {
vs <- strsplit( s, "", fixed = TRUE )[[ 1 ]]
asc <- sapply( vs, function( C ) as.character( charToRaw( C ) ) )
paste( c( "0x", asc ), collapse="" )
}
gmp::as.bigz( stringtoasciihex( plaintext ) )
###
On Sat, 17 Aug 2019, Martin M?ller Skarbiniks Pedersen wrote:
> Hi,
> I am trying to make a R version a RosettaCode task involving big number.
> More precise, I am trying to convert the c-solution
> http://rosettacode.org/wiki/RSA_code#C
> to R.
>
> These two lines in C gives me problems:
> const char *plaintext = "Rossetta Code";
> mpz_import(pt, strlen(plaintext), 1, 1, 0, 0, plaintext);
>
> I have tried:
> library(gmp)
> plaintext <- "Rossetta Code"
> as.bigz(charToRaw(plaintext))
>
> and
> library(gmp)
> plaintext <- "Rossetta Code
> as.big(split(plaintext,""))
>
> Thanks for any help/suggestions
>
> Regards
> Martin M. S. Pedersen
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil using dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
More information about the R-help
mailing list